Startxがi3ウィンドウマネージャを起動するために使用する設定ファイルを見つけようとしています。
奇妙なのは、grep -r i3
が~
と/etc/X11/
に関連する結果を返さないことです。
考えられるすべてのファイルをチェックしました。私の~
ディレクトリには.x*
ファイルがありません。 .x*
サブディレクトリの/etc/X11
ファイルには、i3への参照がありません。 .xinitrc
、.Xsession
などを確認しました。
しかし、..ログインするとstartx
を実行でき、i3が魔法のように起動します。私は完全に困惑しています。
オドロイドでUbuntuを実行していますが、違いはありません。
違いがある場合は、ユーザーを作成する前にrootとしてi3をインストールしました。
cat /etc/issue
Ubuntu 16.04.1 LTS \n \l
uname -a
Linux odroid 3.10.96-113 #1 SMP PREEMPT Wed Jul 6 22:19:28 UTC 2016 armv7l armv7l armv7l GNU/Linux
以下に示すように、非表示にする場所はありません。
root@odroid:/home/matt# find / -name *xinit*
/var/lib/dpkg/info/xinit.conffiles
/var/lib/dpkg/info/xinit.list
/var/lib/dpkg/info/xinit.md5sums
/var/lib/dpkg/info/xinit.postinst
/etc/X11/xinit
/etc/X11/xinit/xinitrc.d
/etc/X11/xinit/xinitrc
/usr/share/doc/xinit
/usr/share/man/man1/xinit.1.gz
/usr/bin/xinit
root@odroid:/home/matt#
root@odroid:/home# grep -r 'exec i3'
matt/.config/i3/config_bak:bindsym $mod+Return exec i3-sensible-terminal
matt/.config/i3/config:bindsym $mod+Return exec i3-sensible-terminal
root@odroid:/home# cd /etc/
root@odroid:/etc# grep -r 'exec i3'
i3/config:bindsym Mod1+Return exec i3-sensible-terminal
i3/config:exec i3-config-wizard
i3/config.keycodes:bindcode $mod+36 exec i3-sensible-terminal
root@odroid:/etc#
Startxを実行するとi3が起動しますか?
i3
はXウィンドウマネージャのようです。それがシステムのデフォルトのウィンドウマネージャーである場合、「alternatives」システムに登録されます。これはupdate-alternatives --display x-window-manager
で確認できます。つまり、/usr/bin/x-window-manager
は/etc/alternatives/x-window-manager
へのシンボリックリンクです。これは、「代替」システムによってi3
を指すように設定されます。
システムのデフォルトのウィンドウマネージャーを変更する場合、rootはupdate-alternatives --config x-window-manager
を使用できます。
Xsessionがウィンドウマネージャを検出すると、これがセッションで起動するデフォルトのプログラムになります。 Debianでは、これは/etc/X11/Xsession.d/50x11-common_determine-startup
で行われます。
ユーザーがXセッションで別のプログラムを実行したい場合は、目的のプログラムを開始(または実行)する~/.xsession
を作成できます。