Xubuntuをスタンドアロンデモシステムのrootユーザーとして起動する必要があります。
lightdm
からの自動ログイン機能を使用するか、プロンプトが表示されたときに[その他]> [ルート]からログインする場合、常に次の応答が返されます。
Error found when loading /root/.profile
mesg: ttyname failed: Inappropriate ioctl for device
As result the session will not be configured correctly.
You should fix the problem as soon as feasible.
上記のポップアップボックスをクリアした後、システムはROOTユーザーで期待どおりに動作します。
/etc/lightdm/lightdm.conf
の内容は次のとおりです:
[Seat:*]
autologin-guest=false
autologin-user=root
autologin-user-timeout=0
Vagrindに関連する他の同様の問題をオンラインで見たことがあります。問題は最新のアップデートのいくつかで解決されましたが、これはXubuntu 16.04でも発生しているようです
https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/1584488
Vagrantで「ttyname失敗:デバイスの不適切なioctl」を解決する方法
ほとんどのフォーラムでは、このメッセージは誤りであり、表示されるべきではないと述べています。この誤ったポップアップを回避しながら、Xubuntuをrootとして自動的に起動する方法はありますか?
最終的な原因は、Xubuntuが明らかにrootアカウントへのグラフィカルログインを実行することを期待していなかったため、デフォルトの.profile
ファイルは、この状況で誤ったエラーを生成します。 /root/.profileの最後の行を見ると、次のことがわかります。
mesg n || true
これは、talk
などのプログラムがコンソールに書き込むのを防ぐためです。これらのメッセージが画面を乱雑にする可能性があるため、テキストセッション(xterm、sshなどからのsu)を介してrootにログインした場合、これは特に重要です。
|| true
ビットは、mesgが失敗した場合(ここで失敗している場合)にシェルスクリプトが終了しないようにするためのものですが、失敗したときにエラーメッセージが生成されるのを防ぐことはできません。
問題の原因は、行を.profileに入れることにより、(グラフィカルログインの最初の部分のように)ttyデバイスのないセッションから実行された場合でも、bashが実行されるたびに実行されるためです。エラー。とにかくTTYなしのセッションから実行するとmesg
は無意味ですが、デスクトップはこれを認識せず、メッセージを表示するため、無害です。
1つの解決策( 参照した質問のコメント による)は、TTYがないときにmesg
を呼び出さないように行を変更することです。
tty -s && mesg n || true
これは、TTYがない場合はmesg
を呼び出さないように指示しますが、TTYがある場合(SSHログインなどから)は引き続き呼び出します。