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


36

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

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

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

$ export DISPLAY=:0
$ xmessage "test"

サイレントモードで電話にテキストメッセージを送信します...それとも私だけですか?
-Nivas

回答:


27

DISPLAYどのディスプレイalphaが現在表示されているかがわかっている限り、Xプログラムに環境変数で使用するディスプレイを指示できます。ほぼ確実に表示されるのは:0、手動で操作した場合を除き、次のとおりです。

$ export DISPLAY=:0

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

例


であるxauthか、xhostここにも必要?
ミケル

@Mikel別のユーザーがXを実行しているときにセキュリティがどのように機能するかわかりません。大丈夫だと思います。xhostリモート接続を許可するためだけに使用したことがありますが、彼はマシンに直接SSHで接続しています
Michael Mrozek

彼女がログインしているのと同じアカウントでログインできれば問題ありません。それ以外の場合は、Xアクセス制御に対処する必要があります。
user7440

10

マイケルMrozekを示して、あなたはあなたの妻のデスクトップ上に表示することをXアプリケーションを実行することができます。あなたがする必要があるのは、DISPLAY環境変数を正しい値に設定するだけです(ほとんどの場合:0)...そして、あなた自身が認可されます。

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

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

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

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


finchpidginのコマンドラインバージョンです。
ローレンス

4

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


3

設定が100%確実ではない DISPLAY=:0.0が機能する。妻のPCのXサーバーへの接続を許可する方法が必要だと思います。それを行うためのツールがあるxhostxauth、彼らはあなたがまだおそらく唯一のあなたの妻がそれらを実行することができ、Xサーバへのアクセス権を持っている必要がいるように見えます。(鶏と卵の問題。)

それに失敗すると、2番目のXサーバーを起動できる場合があります。たとえば、 X :1chvtます。

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

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

ルートとして実行すると、システム上で動作するようです。

X :1 私のシステムのvt7で開始されたので、実行することもできます

# chvt 7

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.