运行 Ubuntu Touch 的平常问题

This page details problems commonly faced while following the 运行 Ubuntu Touch page.

屏幕上没有显示任何内容

If nothing is showing on screen even after adding udev rules to your port, it is likely that you have a problem with graphical applications crashing. See Mir servers crash for more information.

Mir 服务器崩溃

Mir servers crashing can be caused by many different problems with the port. To troubleshoot more, you can try the following:

Is the Android container running?

If the Android container is not running, many parts of Ubuntu Touch will not work. Run this command to check on the container’s status:

sudo lxc-info -n android

If you get output similar to the following, the Android container is running and you can move on to the next troubleshooting step:

Name:           android
State:          RUNNING
PID:            1194
IP:             10.15.19.82

If you do not get State: RUNNING, the container is stopped. You can run sudo start lxc-android-config to attempt to start it. If the container does not start after that, you can run sudo lxc-start -n android -F to get a more detailed log of why it has failed.

所有 Android 分区都被挂载了么?

If some partitions used for Android drivers are not mounted, the container may start but not work correctly.

To check the mounted Android partitions, run ls /android. At least the following folders should be contained within:

data
system
firmware
persist

If any of these are missing, run dmesg to get the kernel log. Mounting Android partitions will start after the following line:

initrd: checking fstab [...] for additional mount points

Try to diagnose and fix any mounting errors that you find in the log for the partitions listed above.

注解

Some devices have a vendor partition that contains proprietary libraries and executables required to run Android. If your device has this partition, make sure that it is mounted in addition to the others listed above.

获取更多 Mir 日志

If the Android container is running and all of its partitions seem to be mounted, you will need to get a few more logs before enlisting community help.

First, stop the display manager if it is not already:

sudo stop lightdm

If you have Wi-Fi working (See the Halium docs for Wi-Fi), install the libc6-dbg package first:

sudo apt update
sudo apt install libc6-dbg

Then, run the following commands to get all of the needed logs:

sudo unity-system-compositor --debug-without-dm &> ~/usc.log
sudo gdb -ex 'set confirm off' -ex 'run' -ex 'bt full' -ex quit --args unity-system-compositor --debug-without-dm &> ~/usc-gdb.log
sudo /system/bin/logcat -d &> ~/usc-logcat.log

Use scp or a similar program to copy the usc.log, usc-gdb.log, and usc-logcat.log files from phablet’s home folder to your computer. Then, post the content of these files to paste.ubuntu.com, Pastebin, GitHub Gists, or a similar service so the people helping you can view them easily.

程序在崩溃前挂起

有时进程会挂起很长时间,然后中止或出现段错误。 挂起的原因是 apport,它试图在允许程序停止之前收集有关崩溃的有用信息。

If you don’t need apport’s information and would rather have the programs crash faster while troubleshooting, issue the following commands:

sudo stop apport
sudo stop whoopsie