geditをテキストエディタとしてCコードをコンパイルすると、永続的な警告が表示されます。gedit file&
シェルからテキストエディタを起動しました。私はUbuntu 20.04.5 LTSを使用しています。警告の内容は次のとおりです。
(gedit:915949): Gtk-WARNING **: 22:02:02.233: Negative content width -6 (allocation 18, extents 12x12) while allocating gadget (node label, owner GtkLabel)
。
どういう意味ですか?どうすればいいですか?
どんな意見でも送ってくれてありがとう。
ベストアンサー1
の内容gedit
または使用中のテーマが一部のウィジェットに無効な値を割り当てます。この場合、内容に関係なく、幅や高さが少し小さすぎる場合があります(6ピクセル)。
これは単なる警告です。ほぼ確実に無害なので無視しても構いません。
GTKアプリケーション(ほとんどのGUIアプリケーション)は常にこの警告を発行します。デスクトップのメニューまたはアイコンから起動されたアプリケーションは、通常STDERR出力を~/.xsession-errors
。
ほとんど常に無害であり(警告のみです。重大な問題は「警告」ではなく「エラー」と表示され、致命的なエラーが原因でプログラムがクラッシュしたり完全に終了することが多い)、主に開発者が使用します。彼らのプログラムをデバッグするため。
もしこの警告によって発生した、または関連していると思われるいくつかのマイナーな外観上の欠陥を見つけて、開発者(またはdistroパッケージを使用している場合はパッケージマネージャ)にバグレポートを送信してください。
ただし、多くの警告が印刷されると、コマンドラインからプログラムを実行すると迷惑になる可能性があります。特にバックグラウンドで実行する場合はそうです&
。
迷惑すぎる場合は、いつでもリダイレクトできます。たとえば、エラーと警告を完全に無視します(実際のエラーがないと確信したり、エラーがあっても構わない限り推奨されません)。
gedit file 2> /dev/null &
メニューまたはアイコンから起動されたプログラムと同様に、.xsession-errorsにリダイレクトするには、次の2>>
代わりに追加する必要があります2>
。
gedit file 2>> ~/.xsession-errors &
常にこれを行う関数やシェルスクリプトを書くこともできます。
gedit_quiet () { gedit "$@" 2>> ~/.xsession-errors & }
この関数は、gedit
ユーザーが提供したオプションと引数を使用してバックグラウンドで実行され、stderrを~/.xsession-errors
。
~/.bash_profile
ログインシェルで常に使用できるように、この関数をシェルに保存してください。たとえば、名前を短い名前に変更したい場合がありますが、gq
既存のプログラム名と競合しないことを確認してください。