自動ログイン後にXを起動

自動ログイン後にXを起動

起動後に仮想コンソールに自動的にログインできます。今すぐ入力するのではなく、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 を確認してください。

おすすめ記事