Ma femme est assise à son bureau à la maison alpha
, qui exécute une version récente d’Ubuntu. Je suis dans un bus, j'utilise ConnectBot sur mon téléphone G1 et alpha
je peux entrer en SSH où que je sois.
Pour des raisons compliquées, je ne peux pas utiliser la messagerie instantanée, le courrier électronique ou le téléphone pour la contacter. (Par exemple, je ne veux pas réveiller le bébé, mon client de messagerie instantanée est en panne, mon serveur de messagerie est en panne.) Ma seule option est de ssh à alpha
distance et d'essayer de faire en sorte que quelque chose apparaisse à l'écran. Elle utilise KDE; Comment puis-je faire quelque chose pour attirer son attention et lui faire savoir que j'essaie de communiquer avec elle? Je pensais qu'il était possible de déclencher à distance quelque chose (comme xmessage) pour qu'elle apparaisse sur son écran même si ma session SSH n'a pas d'affichage X.
EDIT: Pour clarifier, mon téléphone n’exécute aucune version de X, donc X-over-ssh n’est pas possible. Est-ce que les travaux suivants fonctionneraient?
$ export DISPLAY=:0
$ xmessage "test"
Réponses:
Vous pouvez indiquer à un programme X quel affichage utiliser avec la
DISPLAY
variable d'environnement, à condition de savoir quel affichagealpha
est actuellement affiché. Le seul affichage est presque certainement:0
, à moins que vous ne l'ayez manipulé manuellement, donc si vous exécutez:Ensuite, toutes les applications X que vous exécutez seront affichées sur
alpha
le moniteur de.xmessage
est un bon choix pour afficher des messages; il y a aussixdialog
. Si vous avezlibnotify
installé, vous pouvez utilisernotify-send
pour afficher un message dans le coin de l’écran:la source
xauth
ouxhost
nécessaire ici aussi?xhost
pour autoriser les connexions à distance, mais il est directement connecté à la machineComme l' illustre Michael Mrozek , vous pouvez exécuter des applications X qui s'affichent sur le bureau de votre femme. Tout ce que vous avez à faire est de définir la
DISPLAY
variable d'environnement sur la bonne valeur (presque toujours:0
)… et d'obtenir votre autorisation.Cette solution nécessite que vous ayez la permission de lire les fichiers de votre femme. L'accès au serveur X nécessite un «cookie» d' authentification , qui est un mot de passe généré de manière aléatoire au démarrage de X et stocké dans un fichier. Le fichier est souvent
~/.Xauthority
; sinon, il faut l'indiquer dans laXAUTHORITY
variable d'environnement. Sous Ubuntu avec la configuration par défaut (utilisant Gdm), le cookie de session de votre épouse ne se trouve pas dans,~wife/.Xauthority
mais dans un fichier avec un nom généré automatiquement; voir la variable ssh DISPLAY . Voir aussi En tant que root, puis-je lancer un programme graphique sur le bureau d'un autre utilisateur? , Linux: wmctrl ne peut pas ouvrir l’affichage lorsque la session est lancée via ssh + screen .Si votre femme a un terminal de texte ouvert, vous pouvez utiliser,
write
comme suggéré par user7440, pour écrire du texte dans son terminal. Cela nécessite que le terminal accepte de telles notifications; vous pouvez l'activer et le désactiver avecmesg y
oumesg n
, et je ne connais pas l'état par défaut des émulateurs de terminaux modernes.Un mécanisme plus sophistiqué qui
write
soittalk
. Le protocole de conversation est l'ancêtre des programmes de discussion; vous pouvez parler avec n'importe qui sur une machine utilisant un serveur de conversation et dont le port UDP 517 ou 518 (il existe deux variantes de protocole) n'est pas filtré. Alors installez talkd Installez talkd http://bit.ly/software-small , un client tel que ytalk Installez ytalk http://bit.ly/software-small , etytalk wife
. Il existe également un client X, xtalk Install xtalk http://bit.ly/software-small . Autant que je sache, la conversation est tout simplement tombée de l'écran (tout le monde qui l'utilise utilise l'un des procotols de discussion modernes), et aucun composant système ne générerait une notification KDE d'une demande de conversation.Tandis que vous dites que vous ne pouvez exécuter aucun client de messagerie instantanée, un client de messagerie instantanée en ligne de commande exécuté sur votre ordinateur personnel auquel vous accédez via SSH serait-il correct? Il existe de tels exemples, par exemple weechat Install weechat http://bit.ly/software-small . Vous dépendriez toujours du serveur pour vous connecter avec votre femme, mais l'accès ne serait accessible que depuis votre ordinateur à la maison, pas depuis votre téléphone.
la source
finch
est la version en ligne de commande de pidgin.Si elle a une fenêtre de terminal ouverte (utilisez 'qui' pour le savoir), vous pouvez écrire sur ce terminal en utilisant 'write'. Cela ne fonctionnera pas avec le terminal principal car KDE le cache, mais toute fenêtre de terminal devrait fonctionner (si elle est sur le bureau actuel, non minimisée, elle le regarde ...).
la source
Je ne suis pas sûr à 100% que le réglage
DISPLAY=:0.0
va fonctionner. Je pense que vous avez besoin d'un moyen d'obtenir l'autorisation de vous connecter au serveur X sur le PC de votre femme. Les outils pour le faire sontxhost
etxauth
, mais ils semblent exiger que vous ayez déjà accès au serveur X. Par conséquent, seule votre femme pourrait les exécuter. (Problème de poulet et d'œuf.)Sinon, vous pourrez peut-être démarrer un deuxième serveur X, par exemple en utilisant
X :1
, ou peut-être,chvt
vous aider.Par exemple, quelque chose comme
semble fonctionner sur mon système si je l’exécute en tant que root.
X :1
a été lancé sur vt7 sur mon système, vous pouvez donc aussi lancerpour être sûr que cet affichage X est celui actuellement visible.
la source