起動後に仮想コンソールに自動的にログインできます。今すぐ入力するのではなく、Xサーバーが自動的に起動したいと思いますstartx
。以前は動作しましたが、systemdに切り替えた後、Xはそれ自体で起動しません。 ~によるとウィキページ、私は私を編集しました~/.bash_profile
:
#
# ~/.bash_profile
#
[[ -f ~/.bashrc ]] && . ~/.bashrc
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
ただし、Xは起動しません(startx
手動実行は機能します)。
Wikipediaはまた、次のように言います。
Xは、ログインセッションを維持するためにログインが発生したのと同じttyで常に実行する必要があります。これはデフォルトの/etc/X11/xinit/xserverrcによって処理されます。
しかし、この問題をどのように処理するのかわかりません。私のもの/etc/X11/xinit/xserverrc
:
#!/bin/sh
if [ -z "$XDG_VTNR" ]; then
exec /usr/bin/X -nolisten tcp "$@"
else
exec /usr/bin/X -nolisten tcp "$@" vt$XDG_VTNR
fi
私は何が間違っていましたか?
修正する
~/.xinitrc
:
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
# Keyboard layout
setxkbmap -layout de nodeadkeys
# Set the cursor
xsetroot -cursor_name left_ptr
# Autostart
tint2 & #Taskbar
/usr/lib/notification-daemon-1.0/notification-daemon & #Notifications
numlockx & #activate numlock
case "$1" in
openbox)
exec ck-launch-session openbox-session ;;
xmonad)
exec ck-launch-session xmonad ;;
*) #default
exec ck-launch-session xmonad ;;
esac
ファイルはなく、~/.Xresources
以前は必要ありませんでした。それは重要ですか?
ベストアンサー1
XDG_VTNRが何を意味するのかわかりませんが、このスクリプトは私にとって効果的でした。~/.bashrc
(tty3でauto-Xをしています)
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty3 ]]; then exec startx; fi
また、「動作しない」を定義します。手動で起動すると機能しますかstartx
?そうでない場合は、最初に ~/.xinitrc を確認してください。