root以外でstartxを実行する方法は?


10

最近、UbuntuからArch Linuxに切り替えました。X11をウィンドウシステムとして、KDEをデスクトップ環境としてインストールしました。私はのために別のパーティションをした/home/var/そして/boot、彼らはすべてのブート時にマウントします。を実行するstartxと、以下のメッセージが表示されます。

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

誤って、そのファイルを削除しました。それで、からコピーしました/root。以下のコードを使用して権限を変更しました:

# chown hello:users ~/.Xauthority

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


ファイルのコピーはセキュリティ上のリスクです。権限ではなく、権限(所有権)を変更しました。
ctrl-alt-delor 2013年

〜/ .Xauthorityを(再)移動して、再試行してくださいstartx。うまくいきますか?そうでない場合、正確なエラーメッセージは何ですか?
Adaephon 2013年

回答:


11

最初の説明Xは、ウィンドウマネージャではなくウィンドウシステムです。

現在、この~/.Xauthorityファイルは、現在のユーザーのXセッションの識別資格情報が格納される場所ですX。現在のセッションを使用する権限があるかどうかをシステムが判断する必要があるときに読み取られるファイルです。

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

$ rm ~/.Xauthority; startx

.Xauthorityファイルを削除した後でもトレドン。私はstarxすることができません。同じエラーが表示され続けます。
ハビ

@Habi実行中のXセッションがないことを確認し、ファイルを削除してから、startxもう一度実行する必要があります。
terdon

ここで、Xは実行されますが、別のメッセージCall to Inusertemp failed(temporary directory full?)が表示されます。インストールを確認してください。
ハビ

@ハビああ、良い、それは進歩です:)。これはまったく別の問題なので、別の質問を投稿してください。新しい質問で、の出力を表示しdf -h、再起動後もこの問題がまだ存在することを確認してください。
terdon

トレドン、そうだね。:)。ところで、ありがとう。
ハビ

3

問題は、ユーザーがrootとしてログインしsu -l username、を使用してユーザーを切り替えることです。これにより、「username」が所有するrootの下にサブプロセスが作成/生成されます。Xは.Xauthority最上位のプロセス(この場合はルート)のを使用しますが、「ユーザー名」には使用する権限がありません。

エラーが表示されます:

Cannot open virtual console 1 (Permission denied).

これを解決するloginにはsu、新しいシェルを最上位プロセスとして開始する代わりに実行するだけです。


0

これは、Intel製とNvidia製の2つのグラフィックカードを搭載したLenovo IdeaPadで発生しました。

startxこの行が含まれていることによるエラー:

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

これが解決策でした:

  1. /etc/mkinitcpio.conf追加して変更MODULES=(nouveau)
  2. sudo mkinitcpio -p linux
  3. リブート
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.