web-dev-qa-db-ja.com

デスクトップで誰かと通信する方法はありますか?

私の妻は、Ubuntuの最新バージョンを実行している自宅のデスクトップalphaに座っています。私はG1電話でConnectBotを使用してバスに乗っており、どこからでもalphaにSSHで接続できます。

複雑な理由で、私は彼女に連絡するためにIM、電子メール、または電話を使用できません。 (たとえば、赤ちゃんを起こしたくない、IMクライアントが壊れている、メールサーバーがダウンしている)唯一のオプションは、リモートでalphaにsshで接続し、何かを画面に表示させることです。彼女はKDEを使用しています。彼女の注意を引くために何かをポップアップさせて、私が彼女と通信しようとしていることを彼女に知らせるにはどうすればよいですか?私のSSHセッションにはXディスプレイがありませんが、リモートで何か(xmessageなど)をトリガーして彼女の画面に表示することは可能だと思いました。

編集:明確にするために、私の電話はXのフレーバーを実行していないので、X-over-sshは不可能です。以下はうまくいくでしょうか?

$ export DISPLAY=:0
$ xmessage "test"
36
dirtside

現在どのディスプレイDISPLAYが表示されているかがわかっていれば、alpha環境変数で使用するディスプレイをXプログラムに指示できます。ほぼ間違いなく唯一の表示は:0、手動でいじっていない限り、実行すると:

$ export DISPLAY=:0

次に、実行するXアプリケーションがalphaのモニターに表示されます。 xmessageはメッセージを表示するのに適しています。 xdialogもあります。 libnotifyがインストールされている場合は、notify-send画面の隅にメッセージをポップアップするには:

Example

28
Michael Mrozek

Michael Mrozekが説明 のように、妻のデスクトップに表示されるXアプリケーションを実行できます。必要なのは、DISPLAY環境変数を適切な値(ほとんどの場合、:0)に設定して、認証を受けるだけです。

このソリューションでは、妻のファイルを読み取る権限が必要です。 Xサーバーへのアクセスには認証 “ cookie” が必要です。これは、Xの起動時にランダムに生成され、ファイルに保存されるパスワードです。ファイルはしばしば~/.Xauthorityです。そうでない場合は、XAUTHORITY環境変数で指定する必要があります。 Ubuntuのデフォルト設定(Gdmを使用)では、妻のセッションCookieは~wife/.Xauthorityではなく、自動的に生成された名前のファイルにあります。 ssh DISPLAY変数 を参照してください。参照 rootとしてグラフィカルプログラムを別のユーザーのデスクトップで起動できますか?Linux:wmctrlはセッションがssh + screenを介して開始されるとディスプレイを開くことができません

妻がテキストターミナルを開いている場合は、writeser7440の提案どおり を使用して、ターミナルにテキストを書き込むことができます。そのためには、端末がそのような通知を受け入れる必要があります。これはmesg yまたはmesg nでオンとオフを切り替えることができますが、最新のターミナルエミュレータのデフォルトの状態はわかりません。

writeより高度なメカニズムは talk です。トークプロトコルはチャットプログラムの祖先です。トークサーバーを実行していて、UDPポート517または518(2つのプロトコルバリエーションがあります)がフィルターされていないマシン上の誰とでも話すことができます。したがって、インストール talkdInstall talkd http://bit.ly/software-smallytalkInstall ytalk httpなどのクライアント://bit.ly/software-small 、およびytalk wife。 Xクライアントもあります xtalkInstall xtalk http://bit.ly/software-small 。私の知る限り、話はレーダーから外れているだけで(気にするすべての人が最新のチャットプロトコルを使用しています)、話の要求のKDE通知を生成するシステムコンポーネントはありません。

IMクライアントを実行できないとおっしゃっていますが、SSH経由でアクセスするホームマシン上で実行されているコマンドラインIMクライアントは大丈夫でしょうか?たとえば、 weechatInstall weechat http://bit.ly/software-small などがあります。あなたはまだあなたの妻とあなたを接続するためにいくつかのサーバーに依存していますが、それはあなたの電話からではなく、あなたの家庭のマシンからのみアクセスされます。

彼女が端末ウィンドウを開いている場合(「who」を使用して調べる)、「write」を使用してその端末に書き込むことができます。 KDEが非表示にしているため、これはメインターミナルでは機能しませんが、すべてのターミナルウィンドウは機能します(現在のデスクトップ上にあり、最小化されていない場合、彼女はそれを確認しています...)。

4
user7440

DISPLAY=:0.0の設定が機能するかどうかは100%わかりません。私はあなたの妻のPCのXサーバーに接続するための認証を受ける方法が必要だと思います。それを行うためのツールはxhostxauthですが、Xサーバーへのアクセス権がすでに必要であるため、妻だけが実行できると思われます。 (鶏と卵の問題。)

これに失敗すると、2番目のXサーバーを起動できる場合があります。 X :1またはchvtの使用が役立つ場合があります。

たとえば、次のようなもの

# X :1
# export DISPLAY=:1.0
# xmessage 'hello'

rootで実行すると、システムで動作するようです。

X :1は私のシステムのvt7で開始されたため、次のコマンドを実行することもできます

# chvt 7

そのXディスプレイが現在表示されているものであることを確認してください。

3
Mikel