
私はユーザー入力を読み、それを他のいくつかのプログラムのコマンドに入力するクイックスクリプトを書いています。私はxterm -e
個々のプログラムごとに端末を開くために使用します。
スクリプトは正常に実行されますが、xterm -e
実行されるたびにエラーメッセージが表示されます。
警告:セッションマネージャに接続しようとしている間、指定された認証プロトコルはサポートされていません。
表示を停止する方法についてのアイデアはありますか?
答え1
xterm
環境変数を使用して$SESSION_MANAGER
Xセッションマネージャにアクセスする方法を学びます。
あなたの場合は認証できないようです。スクリプトは現在のセッションで開始できますが、他のユーザーとして起動できます。
とにかくセッションマネージャに報告する必要はないので、変数を設定解除してエラーメッセージを削除することもできます。
unset -v SESSION_MANAGER
POSIXに似たシェル(またはunsetenv SESSION_MANAGER
(t)cshset -e SESSION_MANAGER
またはfish
)から
またはenv
非標準-u
オプションをサポートしている場合は、次から始めてくださいxterm
。
env -u SESSION_MANAGER xterm ...
答え2
実際、変数はxterm
直接使用されませんSESSION_MANAGER
。これはXtおよびSMライブラリで使用されます。
セッションマネージャ機能を無効にするより直接的な方法は、次のとおりです。xterm マニュアル、まずコマンドラインオプションで:
-sm
このオプションは次のとおりです。sessionMgt
xterm がセッション・マネージャーのコールバックを設定する必要があることを示すリソース。
+sm
このオプションは、xtermがセッションマネージャのコールバックを設定しないことを示します。
それからアプリケーションリソース:
sessionMgt
(授業SessionMgt
)
資源の価値が以下の場合「本物」XtNdieCallback
、xterm、およびセッションマネージャのコールバック設定XtNsaveCallback
。デフォルトは「本物」。
これらの機能が含まれているためパッチ#169(2002)、おそらく利用可能です。
答え3
次のように無視できます。
xterm -e 2> /dev/null