Apakah ada cara untuk berkomunikasi dengan seseorang di desktop mereka?

36

Istri saya sedang duduk di desktop rumahnya alpha,, yang menjalankan versi terbaru dari Ubuntu. Saya berada di bus, menggunakan ConnectBot di ponsel G1 saya, dan dapat SSH masuk alphadari mana pun saya berada.

Untuk alasan yang rumit, saya tidak dapat menggunakan IM, email, atau telepon untuk menghubunginya. (Misalnya saya tidak ingin membangunkan bayi itu, klien IM saya rusak, server email saya tidak berfungsi.) Satu-satunya pilihan saya adalah ssh ke alphajarak jauh dan mencoba membuat sesuatu muncul di layar. Dia menggunakan KDE; bagaimana saya bisa membuat sesuatu muncul untuk mendapatkan perhatiannya dan biarkan dia tahu saya mencoba berkomunikasi dengannya? Saya pikir mungkin untuk memicu sesuatu dari jarak jauh (seperti xmessage) muncul di layarnya meskipun sesi SSH saya tidak memiliki tampilan X.

EDIT: Untuk memperjelas, ponsel saya tidak menjalankan rasa X, jadi X-over-ssh tidak mungkin. Akankah cara berikut ini berhasil?

$ export DISPLAY=:0
$ xmessage "test"
dirtside
sumber
Kirim pesan teks ke telepon dalam mode senyap ... atau hanya saya?
Nivas

Jawaban:

27

Anda dapat memberi tahu program X tampilan mana yang akan digunakan dengan DISPLAYvariabel lingkungan, selama Anda tahu tampilan mana alphayang sedang ditampilkan. Hampir pasti satu-satunya tampilan adalah :0, kecuali jika Anda telah mengotak-atiknya secara manual, jadi jika Anda menjalankan:

$ export DISPLAY=:0

Maka setiap aplikasi X yang Anda jalankan akan ditampilkan pada alphamonitor. xmessageadalah pilihan yang baik untuk menampilkan pesan; ada juga xdialog. Jika sudah libnotifydiinstal, Anda dapat menggunakannya notify-senduntuk memunculkan pesan di sudut layar:

Contoh

Michael Mrozek
sumber
Apakah xauthatau xhostdibutuhkan di sini juga?
Mikel
@Mikel Saya tidak yakin bagaimana keamanan bekerja ketika pengguna lain menjalankan X; Saya pikir tidak apa-apa. Saya hanya pernah menggunakan xhostuntuk memungkinkan koneksi jarak jauh, tapi dia SSHing ke mesin secara langsung
Michael Mrozek
Tidak apa-apa jika Anda dapat masuk pada akun yang sama dengan saat ia masuk. Jika tidak, Anda harus berurusan dengan kontrol akses X.
user7440
10

Seperti yang digambarkan Michael Mrozek , Anda dapat menjalankan aplikasi X yang ditampilkan di desktop istri Anda. Yang perlu Anda lakukan adalah mengatur DISPLAYvariabel lingkungan ke nilai yang benar (hampir selalu :0) ... dan buat diri Anda resmi.

Solusi ini mengharuskan Anda memiliki izin untuk membaca file istri Anda. Akses ke server X membutuhkan "cookie" otentikasi , yang merupakan kata sandi yang dihasilkan secara acak ketika X mulai dan disimpan dalam file. File sering ~/.Xauthority; jika tidak, itu harus ditunjukkan dalam XAUTHORITYvariabel lingkungan. Di bawah Ubuntu dengan pengaturan default (menggunakan Gdm), cookie sesi istri Anda tidak ada ~wife/.Xauthoritytetapi dalam file dengan nama yang dihasilkan secara otomatis; lihat ssh DISPLAY variabel . Lihat juga Sebagai root, bisakah saya meluncurkan program grafis di desktop pengguna lain? , Linux: wmctrl tidak dapat membuka tampilan ketika sesi dimulai melalui layar ssh + .

Jika istri Anda memiliki terminal teks terbuka, Anda dapat menggunakan write seperti yang disarankan oleh user7440 untuk menulis beberapa teks di terminalnya. Itu mengharuskan terminal menerima pemberitahuan tersebut; Anda dapat menghidupkan dan mematikan ini dengan mesg yatau mesg n, dan saya tidak tahu apa keadaan default pada emulator terminal modern.

Sebuah mekanisme yang lebih canggih yang writeadalah talk. Protokol pembicaraan adalah nenek moyang dari program obrolan; Anda dapat berbicara dengan siapa pun di mesin yang menjalankan server bicara dan yang port UDP 517 atau 518 (ada dua varian protokol) tidak difilter. Jadi instal talkd Instal talkd http://bit.ly/software-small , klien seperti ytalk Instal ytalk http://bit.ly/software-small , dan ytalk wife. Ada juga klien X, xtalk Instal xtalk http://bit.ly/software-small . Sejauh yang saya tahu, pembicaraan telah hilang dari radar (semua orang yang peduli menggunakan salah satu procotols obrolan modern), dan tidak ada komponen sistem yang akan menghasilkan pemberitahuan KDE tentang permintaan bicara.

Meskipun Anda mengatakan Anda tidak dapat menjalankan klien IM apa pun ... akankah klien IM baris perintah yang berjalan pada mesin rumah Anda diakses melalui SSH tidak masalah? Ada yang seperti itu, misalnya weechat Install weechat http://bit.ly/software-small . Anda masih bergantung pada beberapa server untuk menghubungkan Anda dengan istri Anda, tetapi itu hanya akan diakses dari mesin di rumah Anda, bukan dari ponsel Anda.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
finchadalah versi baris perintah dari pidgin.
LawrenceC
4

Jika dia memiliki jendela terminal terbuka (gunakan 'siapa' untuk mencari tahu) Anda dapat menulis ke terminal itu menggunakan 'tulis'. Ini tidak akan berfungsi dengan terminal utama karena KDE menyembunyikannya, tetapi jendela terminal mana pun harus bekerja (jika itu ada di desktop saat ini, tidak diminimalkan, dia melihatnya ...).

pengguna7440
sumber
3

Saya tidak 100% yakin pengaturan DISPLAY=:0.0akan berhasil. Saya pikir Anda perlu cara untuk mendapatkan otorisasi untuk terhubung ke server X pada PC istri Anda. Alat untuk melakukannya adalah xhostdan xauth, tetapi tampaknya mengharuskan Anda sudah memiliki akses ke server X, jadi mungkin hanya istri Anda yang dapat menjalankannya. (Masalah ayam dan telur.)

Jika gagal, Anda mungkin dapat memulai X server kedua, mis. Menggunakan X :1, atau mungkin chvtdapat membantu.

Misalnya, sesuatu seperti

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

tampaknya berfungsi pada sistem saya jika saya menjalankannya sebagai root.

X :1 dimulai pada vt7 di sistem saya, jadi Anda juga bisa menjalankannya

# chvt 7

untuk memastikan bahwa tampilan X adalah yang saat ini terlihat.

Mikel
sumber