root以外のユーザーとしてstartxを実行するには?

root以外のユーザーとしてstartxを実行するには?

最近UbuntuからArch Linuxに切り替えました。私はX11をWindowsシステム、KDEをデスクトップ環境としてインストールしました。別々のパーティション/homeがあり、すべて起動時にマウントされます/var。実行すると、次のようなメッセージが表示されます。//bootstartx

xauth:timeout in locking authority file /home/hello/.Xauthority

誤ってファイルを削除しました。だから、/root次のコードを使用して権限を変更しました。

# chown hello:users ~/.Xauthority

startxこの後もルートアカウントを使用しないと実行できません。

答え1

Xまず、一つを明確にしましょう。いいえウィンドウマネージャ、これはウィンドウシステム

この~/.Xauthorityファイルは現在のユーザーセッションの識別資格情報が保存されている場所にすぎず、現在のXセッションを使用する権限があることを確認する必要があるXときにシステムが読み取るファイルです。

他のアカウントの既存のファイルをコピーしないでください。ファイルは常に実際のユーザーに属している必要があり、X新しいセッションの開始時に自動的に作成する必要がありますX。したがって、持っているものを削除してstartx再実行すると、すべてがうまく機能します。

$ rm ~/.Xauthority; startx

答え2

1つの問題は、人々がrootとしてログインし、su -l username「username」が所有するルートの下に子プロセスを作成/作成するスイッチuserを使用することです。 X.Xauthorityは、権限のない最上位プロセス(この場合はルート)の「ユーザー名」を使用します。

エラーが表示されます。

Cannot open virtual console 1 (Permission denied).

この問題を解決するには、新しいシェルを最上位プロセスとして起動するloginのではなく実行します。su

答え3

私は、IntelとNvidiaの2つのグラフィックカードを搭載したLenovo IdeaPadでこの問題に直面しました。

結果エラーにはstartx次の行が含まれます。

ドライバ0 kdeプラズマのAddscreen / screeninitが失敗しました。

これ解決策は次のとおりです。

  1. /etc/mkinitcpio.conf追加して変更してください。MODULES=(nouveau)
  2. sudo mkinitcpio -p linux
  3. 再起動

関連情報