別のコンソールでX11コマンドを実行する

別のコンソールでX11コマンドを実行する

私のUbuntu 14.04仮想マシンでcompizが頻繁に停止します。私は通常tty1に切り替え、プロセスを終了してから再びtty7に切り替え、ターミナルウィンドウが表示されたらcompiz --replace &その中で実行します。ただし、時にはターミナルウィンドウが表示されず、デスクトップを右クリックしてもメニューが表示されないため、メニューを開いてlightdmサービスを再起動する必要があります。これはジョブブロックです。

compiz --replace &私の質問は:tty7の他のttyからコマンドまたは他のコマンドを実行する方法です。

私はこれを読んだワイヤーしかし、tmuxを私のコンピュータの他のttyに接続する方法がわかりません。 2番目はhomebrewを使用することです。私も読んだこれしかし、tt7でデーモンを実行し、私のコマンドを待つことが含まれています。もっと簡単な方法はありませんか?

答え1

実際に重要なのは、どのコンソールでコマンドを実行するのではなく、プログラムがまだ存在するXディスプレイに接続するように指示することです。これを行うには、DISPLAY変数を設定して標準端末でCompizを再起動します。展開と構成によっては、以下が必要になる場合があります。置くXAUTHORITYしかも。 tty1に切り替えて、次のように入力します。

$ export DISPLAY=:0
$ compiz --replace &

お使いのコンピュータに表示される内容は異なる場合があります。who以下を見つけるために使用されます。

$ who
you     tty1    [time]             < This is you from tty1.
you     :0      [time] (:0)        < This is you from tty7.

        ^^              ^^
   This is your display on tty7

注:自分の名前でtty7(グラフィカルに)にログインする必要があります。幸いなことに、Compizがクラッシュしても(多くのことはできませんが)、tty7との接続は失われません。

関連情報