mesg:ttynameが失敗しました:デバイスに不適切なioctl



Mesg Ttyname Failed



Ubuntuの設計哲学は、rootアカウントで直接操作することをできるだけ避けることです。したがって、誰かがrootアカウントで直接ログインしようとすると、図のエラーメッセージが発行されます。実際、このエラー自体はシステムの動作に影響を与えません。上記のウィンドウを閉じた後も、システムは通常どおりグラフィカルインターフェイスに入ることができ、すべての操作を続行できます。このソリューションの最大の効果は、このエラーメッセージをオフにすることです。

写真のプロンプトボックスは、エラーがコマンドから来たことをすでに示しています mesg 。比較 〜/ .profile/root/.profile これらの2つのファイルは、後者のみが実行されていることがわかります。 mesg 。私は試した 〜。/ profile ファイルの最後に追加 mesg n || true 。その結果、一般ユーザーもログイン後に画像にエラーを報告することがわかりました。 mesg n エラーの理由は、グラフィカルインターフェイスに入る前に、現在のセッションにTTYデバイスがなく、メッセージが表示される場所がなく、エラーが報告されるためです。



したがって、本当の理由は次のように要約されます。ルートアカウントに直接ログインしようとしないようにユーザーに通知するために、Ubuntuは mesg コマンドの特徴、 /root/.profile 追加されました mesg n || true 。解決策のアイデアは、ttyデバイスがないときにコマンドmesgを実行し続けないことです。したがって、エラーメッセージも削除されます。

参照することもできます https://superuser.com/questions/1241548/xubuntu-16-04-ttyname-failed-inappropriate-ioctl-for-device/1253889