Xサーバーの起動に/usr/bin/startx
スクリプトが使用されていると考えましたが、実際にはそうではないようです。 Xサーバーを起動するプロセスまたはスクリプトはどれですか? lightdm greeterが表示される前にXサーバーを起動する必要がありますが、正確にいつですか?
/ etc/init.d/lightdmはXserverを起動します。 Lightdmが最初に起動され、Xserverが起動します。 Xserver(Xorg)の親プロセスはlightdm(以下の例に示すようにPID 25600)です。これを実行するには、次を実行します。
ps -ef | grep lightdm.
root 25600 1 0 00:50 ? 00:00:00 /usr/sbin/lightdm
root 25608 25600 2 00:50 tty7 00:00:35 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
root 25686 25600 0 00:50 ? 00:00:00 lightdm --session-child 12 19
次のコマンドを実行すると、それに応じてlightdmとXserverが停止および起動します。
Sudo /etc/init.d/lightdm stop
Sudo /etc/init.d/lightdm start
startx
を使用しますUbuntuシステムが最小画面システムやサーバーシステムなどのテキスト画面で起動する場合、startxを使用してxserver(およびopenboxやfluxboxなどのシンプルなウィンドウマネージャー、またはgnome、kde、lxdeなどのデスクトップ環境を起動できます。 。xfce)。
たとえば、3つのプログラムパッケージをインストールした後、シンプルなグラフィカルデスクトップ(最小システムまたはサーバーシステム)を起動して使用するだけで十分です。
Sudo apt update
Sudo apt install fluxbox xinit xterm
コマンドで
startx
Ubuntuデスクトップシステム(標準UbuntuまたはKubuntu、Lubuntu、... Xubuntuのいずれか)がある場合、startxを使用する必要はありません。グラフィカルデスクトップ環境は自動的に起動します(startx
を実行する必要はありません) )。正しく理解すれば、systemd
を介して開始されます。たとえば、次のリンクを参照してください。
wiki.archlinux.org/index.php/Systemd/User#Xorg_and_systemd
wiki.archlinux.org/index.php/xorg
テキストモードとグラフィックモードの切り替えについては、次のリンクの回答に記載されています。
Xを使用せずにUbuntu 16.04デスクトップを1回起動するには、GRUBのlinuxコマンドラインにsystemd.unit = multi-user.targetを追加します。
これをデフォルトにするには、次を使用します
Sudo systemctl set-default multi-user.target
Xのデフォルトの起動に戻すには、次を使用します。
Sudo systemctl set-default graphical.target
現在のデフォルトのターゲットを表示するには、
Sudo systemctl get-default
起動プロセスについては、こちらをご覧ください: http://manpages.ubuntu.com/manpages/xenial/man7/boot.7.html
マニュアルではXserver(またはX11)について言及していませんが、initプロセスはXserverの起動を担当します。
通常x11を含むすべてを生成する初期化プロセス(PID = 1)
16.04では、systemd-sysvの/sbin/init