linux error ttyname failed: デバイスに不適切な ioctl Solution
を使う前に
git push
は、その
hexo deploy
といった操作で、よく目にするのが
ttyname failed: Inappropriate ioctl for device
のメッセージを表示します。どうしてこんなことができるのでしょうか?
0 errors,0 warnings
は動作するのでしょうか?この問題の解決策を文書化したものを紹介します。
問題の原因
Ubuntuは、誰もがrootアカウントにグラフィカルにログインするわけではないことを理解しているので、デフォルトの
.profile
ファイルは、この場合、偽のエラーを生成するように設定されています。というのがわかると思います。
/root/.profile
ファイルの末尾にこのような行があります。
mesg n || true
これは何ですか?これは、以下のようなことを防ぐためのものです。
talk
これは、テキストセッションで root アカウントにログインしているときに特に重要です。
|| true
は、ttyを要求する際のエラーが失敗し、シェルスクリプトがアボートするのを防ぐために使用されます。
この文章を
.profile
ファイルで、bash を実行するたびにこの行を実行できるようにします。ttyデバイスのない描画から実行すると、エラーが報告され、他のプログラムには影響を与えず、メッセージが表示されるだけです。
解決方法
メッセージは無害ですが、やはり常にエラーメッセージが表示されるのは落ち着かないので、解消してしまいましょう。
を削除します。
/root/.profile
ファイルを
mesg n || true
は以下のように変更されます。
tty -s && mesg n || true
これにより
mesg
は、tty がないときにはメッセージを送信せず、tty があるときには呼び出しを継続します。これで
ttyname failed: Inappropriate ioctl for device
今すぐ
関連
-
Build Record 2-CSS file not loaded-Solved-Resource interpreted as Stylesheet but transferred with MIME type text/plain
-
C#のTask.Delay()とThread.Sleep()
-
collect2.exe [エラー] ld が 1 の終了ステータスを返しました。
-
Uncaught TypeError: Node' の 'removeChild' の実行に失敗しました: 1 つの引数が必要ですが、0 つしかありません。
-
Android StudioでInvalid Gradle JDK configuration foundというエラーが表示される。
-
ternsflow AttributeError: __enter__
-
tensorflow.contrib'という名前のモジュールはありません。
-
liunx, makeでmysqlをインストール *** ターゲットが指定されておらず、makefileも見つかりませんでしたので停止しました。
-
Rollup.js|solve the package react project error ReferenceError: process is not defined.
-
java.security.cert.CertPathValidatorException を解決してください。認証パスのトラストアンカーが見つかりませんでした。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
リスト解決にリスト("str "ではない)を連結することだけができる
-
eclipse left パッケージエクスプローラーのフォントサイズ設定
-
ArrayAdapter がリソース ID に TextView を要求する問題を解決する方法
-
python ランタイムプロンプト WebDriverException: メッセージ geckodriver' 実行ファイルが PATH にある必要があります。
-
JAVA の小さな問題を解決する
-
Javaで例外が発生しました。トークンの構文エラー、構成要素の誤配置。
-
コンパイル時の型エラーでメソッドが未定義になる
-
java エラー ------ public 型は、それ自身のファイルで定義する必要があります。
-
PythonのTypeErrorです。__init__() に必要な位置引数が2つない
-
Pythonでの強制変換('str'と'int'のインスタンス間でサポートされていないエラーが発生した場合)。