Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/02/2024, à 17:56

TuxLife

[ Résolu ] Zenity ne fonctionne pas pour certains utilisateurs HELP...

Bonjour, je viens vers la communauté car cela fait un bon moment que je cherche de l'aide sur les forums et articles divers concernant Zenity!
Je comprends l'utilisation et les syntaxes mais j'ai tout de même un problème et je vais devenir complètement baré si je ne comprends pas ce qu'il se passe!
J'aimerais utiliser Zenity pour envoyer des messages à mes enfants via une connexion SSH.
Ce que je fais: je me connecte en tant que nanoli via SSH et tape ma ligne de commande zenity:

nanoli@nanoli-fix:~$ ssh nanoli@192.168.1.105
Welcome to Ubuntu 23.04 (GNU/Linux 6.2.0-39-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

31 mises à jour peuvent être appliquées immédiatement.
Pour afficher ces mises à jour supplémentaires, exécuter : apt list --upgradable


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
Your Ubuntu release is not supported anymore.
For upgrade information, please visit:
http://www.ubuntu.com/releaseendoflife

New release '23.10' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Wed Feb  7 16:25:03 2024 from 192.168.1.140
nanoli@Florian-HP-ProBook-650-G1:~$ zenity display=:0.0 --warning --text="test"
nanoli@Florian-HP-ProBook-650-G1:~$ zenity --warning --text="test"
nanoli@Florian-HP-ProBook-650-G1:~$ id
uid=1000(nanoli) gid=1000(nanoli) groupes=1000(nanoli),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),100(users),114(lpadmin),130(sambashare)
nanoli@Florian-HP-ProBook-650-G1:~$ id tom
uid=1002(tom) gid=1002(tom) groupes=1002(tom),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),100(users),114(lpadmin),130(sambashare)
nanoli@Florian-HP-ProBook-650-G1:~$ 

l'option "display=:0.0" ne change rien si je l'enlève, cela fonctionne mais uniquement pour l'user Nanoli
Florian-HP est l'ordianteur distant.
j'ai fais un ID nanoli et obtiens le résultat affiché au dessus.
J'ai également fais un ID tom pour le user tom car avec ce dernier, Zenity ne fonctionne pas (via SSH) en local pas de problème.
Toujours la même erreur: "cannot open display:" j'aimerais bien lui ouvrir son display!

nanoli@Florian-HP-ProBook-650-G1:~$ su tom
Mot de passe : 
tom@Florian-HP-ProBook-650-G1:/home/nanoli$ zenity --warning --text="test"

(zenity:9959): Gtk-WARNING **: 16:41:54.839: cannot open display: 
tom@Florian-HP-ProBook-650-G1:/home/nanoli$ 

nanoli et tom ont exactement les mêmes droits et groupes alors pourquoi cette différence avec Zenity?
Nanoli est le premier admin créé à l'installation d'ubuntu, cela change-t-il quelque chose?
Je tourne avec ubuntu 20.0 et le distant en ubuntu 23 ( Edubuntu ).

J'ai essayé beaucoup de "solution" trouvées sur la toile mais aucune ne m'a aidée sad .
Xhost, export display, X11, etc... J'ai le sentiment que cela viendrait plus du user qu'autre chose mais je bloque à présent.

Merci de m'avoir lu!

EDIT: après m'être connecté en SSH sur un des ordis, jai entré la commande suivante afin d'obtenir les infos display.

nanoli@Florian-HP-ProBook-650-G1:~$xrandr --query
Can't open display

Le fait de ne pouvoir exécuter cette commande via SSH serait un indice?

Dernière modification par TuxLife (Le 29/02/2024, à 22:19)


The Gate family changed my life, Tux gave it back to me...
Comprendre c'est avancer

Hors ligne

#2 Le 07/02/2024, à 18:20

LukePerp

Re : [ Résolu ] Zenity ne fonctionne pas pour certains utilisateurs HELP...

ssh nanoli@192.168.1.105 "zenity --warning --text=\"test\" --display=:0"

Desktop & Laptop - Ubuntu Mate dernière LTS - Intel i5 - 16 Go - Dual boot Windows offline

Hors ligne

#3 Le 08/02/2024, à 11:25

TuxLife

Re : [ Résolu ] Zenity ne fonctionne pas pour certains utilisateurs HELP...

Bonjour Luke, merci pour la réponse mais cela ne fonctionne pas...


The Gate family changed my life, Tux gave it back to me...
Comprendre c'est avancer

Hors ligne

#4 Le 08/02/2024, à 11:55

O_20_100_O

Re : [ Résolu ] Zenity ne fonctionne pas pour certains utilisateurs HELP...

Bonjour,
Peut-être avec notify-send à la place de zenity. Cela affiche une notification bien intégrée à l'environnement de bureau.
https://www.linuxtricks.fr/wiki/notify- … tre-bureau

Edit : testé sur mon réseau local, ça fonctionne entre une Archlinux Gnome et une Debian 12 Plasma. Sur la machine cible, la session doit être ouverte pour le même utilisateur que celui connecté en ssh sur la machine émettrice. display=:0.0 est inutile.

Dernière modification par O_20_100_O (Le 08/02/2024, à 12:20)

Hors ligne

#5 Le 08/02/2024, à 16:08

TuxLife

Re : [ Résolu ] Zenity ne fonctionne pas pour certains utilisateurs HELP...

Merci Vincent,
Cela va déjà combler une partie de ce que j'aimerais faire!
Il leur faudra également la possibilité de répondre par un texte ou un clike à certaines notifs d'où l'intérêt de Zenity.

Merci pour cette option jusqu'à lors inconnue pour moi!


The Gate family changed my life, Tux gave it back to me...
Comprendre c'est avancer

Hors ligne

#6 Le 08/02/2024, à 18:04

O_20_100_O

Re : [ Résolu ] Zenity ne fonctionne pas pour certains utilisateurs HELP...

. Sur la machine cible, la session doit être ouverte pour le même utilisateur que celui connecté en ssh sur la machine émettrice. display=:0.0 est inutile.

Après test, c'est la même chose pour zenity.

Il se pourrait que la solution à ton besoin passe plutôt par un logiciel de "chat" que tu installerais sur chaque machine de ton réseau local.

Dernière modification par O_20_100_O (Le 08/02/2024, à 18:18)

Hors ligne

#7 Le 08/02/2024, à 18:54

TuxLife

Re : [ Résolu ] Zenity ne fonctionne pas pour certains utilisateurs HELP...

Oui un service chat ferait l'affaire effectivement! Je vais y penser mais je déteste rester sur un échec! wink
J'ai fais d'autres tests et il se trouve que lorsque je lance une connexion SSH avec l'attribut -X, j'ai une notification du .Xauthority manquant:

/usr/bin/xauth:  file /home/boulette/.Xauthority does not exist

j'ai donc tenté le coup de créer ce .Xauthority en root et ceci fait, je me reconnecte en SSH -X et le message erreur n'est plus.
Et là, une différence...

nanoli@nanoli-fix:~$ ssh -X boulette@192.168.1.103
Welcome to Ubuntu 23.04 (GNU/Linux 6.2.0-39-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

28 mises à jour peuvent être appliquées immédiatement.
Pour afficher ces mises à jour supplémentaires, exécuter : apt list --upgradable


The list of available updates is more than a week old.
To check for new updates run: sudo apt update
Your Ubuntu release is not supported anymore.
For upgrade information, please visit:
http://www.ubuntu.com/releaseendoflife

New release '23.10' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Thu Feb  8 17:31:44 2024 from 192.168.1.140
boulette@Boullette-desktop:~$ zenity --warning --text="TEST" --ellipsize
boulette@Boullette-desktop:~$ 

A ce stade, zenity fonctionne mais s'affiche sur mon bureau et non celui sur lequel je suis connecté en SSH.
La configuration manquante du .Xauthority ferait ceci?

Merci!


The Gate family changed my life, Tux gave it back to me...
Comprendre c'est avancer

Hors ligne

#8 Le 08/02/2024, à 19:21

O_20_100_O

Re : [ Résolu ] Zenity ne fonctionne pas pour certains utilisateurs HELP...

SSH avec l'attribut -X ... zenity fonctionne mais s'affiche sur mon bureau

Il fait ce que tu lui as demandé avec le -X.

Dernière modification par O_20_100_O (Le 08/02/2024, à 19:21)

Hors ligne

#9 Le 13/02/2024, à 09:19

TuxLife

Re : [ Résolu ] Zenity ne fonctionne pas pour certains utilisateurs HELP...

Bonjour à tous! J'ai fais encore quelques tests sur une installation ubuntu toute fraîche et je pense connaître l'origine du problème sans pour autant pouvoir le corriger.
Pour l'instant, je teste en local et non plus sur une connexion ssh.
J'ai créé la session par défaut ( User TUX) lors de l'intallation et est donc en admin avec les groupes suivants:

tux@tux-fix:~$ id
uid=1000(tux) gid=1000(tux) groupes=1000(tux),0(root),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),122(lpadmin),135(lxd),136(sambashare)

J'ai ensuite créé un user lambda ( TOM ) en simple user, id:

tux@tux-fix:~$ id tom
uid=1002(tom) gid=1002(tom) groupes=1002(tom)

Il a le uid 1002 et non 1001 car un autre user à été créé mais ne rentre pas en compte.
Lorsque j'édite cron via crontab -e avec uid TUX :

29 6 * * * DISPLAY=:0 zenity --info --text="test"

A 6h29, il m'a affiché le message test.
l'orsque j'édite le crontab -e de TOM (via sa session):

40 6 * * * DISPLAY=:0 zenity --info --text="test"

A 6h40, rien.
J'ai ouvert un terminal et ai testé zenity via le terminal et rien non plus car sudo obligatoire.
Je suis donc allé dans visudo pour autoriser TOM à éxécuter zenity en sudo et sans mdp.
Test en terminal > OK!
je réédite le crontab de TOM via sa session en:

45 6 * * * DISPLAY=:0 sudo zenity --info --text="test"

Rien...
Je pense que le problème se situe ici, au niveau de ligne de commande dans le crontab car via terminal, cela fonctionne dans la session TOM (1002) mais pas en cron. Problème de DISPLAY mais je ne sais pas comment resoudre ce problème.
J'ai le sentiment que l'utilisateur TUX (1000) à "un affichage universel" tandis que les autres non, il faudrait stipuler quel écran utiliser mais "je n'en ai qu'un" le DISPLAY=:0 .
Lorsque je lance la commande "who" dans le terminal, TUX  est tty2 et TOM est tty3. Associer? Faire un "pont"? Je ne sais pas.

Si une personne bien équipée pouvait me partager son savoir... Ce serait fort aimable! big_smile

Bonne journée à tous!

Ps: Demain c'est le 14 Février, n'oubliez pas vos moitiers! cool

PPS: j'ai oublié de dire, j'ai inclus TOM dans les mêmes groupes de TUX pour essayer question de voir si ce serait une histoire d'autorisation, cela ne change rien.

Dernière modification par TuxLife (Le 13/02/2024, à 09:22)


The Gate family changed my life, Tux gave it back to me...
Comprendre c'est avancer

Hors ligne

#10 Le 29/02/2024, à 22:16

TuxLife

Re : [ Résolu ] Zenity ne fonctionne pas pour certains utilisateurs HELP...

TuxLife a écrit :

Bonjour à tous! J'ai fais encore quelques tests sur une installation ubuntu toute fraîche et je pense connaître l'origine du problème sans pour autant pouvoir le corriger.
Pour l'instant, je teste en local et non plus sur une connexion ssh.
J'ai créé la session par défaut ( User TUX) lors de l'intallation et est donc en admin avec les groupes suivants:

tux@tux-fix:~$ id
uid=1000(tux) gid=1000(tux) groupes=1000(tux),0(root),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),122(lpadmin),135(lxd),136(sambashare)

J'ai ensuite créé un user lambda ( TOM ) en simple user, id:

tux@tux-fix:~$ id tom
uid=1002(tom) gid=1002(tom) groupes=1002(tom)

Il a le uid 1002 et non 1001 car un autre user à été créé mais ne rentre pas en compte.
Lorsque j'édite cron via crontab -e avec uid TUX :

29 6 * * * DISPLAY=:0 zenity --info --text="test"

A 6h29, il m'a affiché le message test.
l'orsque j'édite le crontab -e de TOM (via sa session):

40 6 * * * DISPLAY=:0 zenity --info --text="test"

A 6h40, rien.
J'ai ouvert un terminal et ai testé zenity via le terminal et rien non plus car sudo obligatoire.
Je suis donc allé dans visudo pour autoriser TOM à éxécuter zenity en sudo et sans mdp.
Test en terminal > OK!
je réédite le crontab de TOM via sa session en:

45 6 * * * DISPLAY=:0 sudo zenity --info --text="test"

Rien...
Je pense que le problème se situe ici, au niveau de ligne de commande dans le crontab car via terminal, cela fonctionne dans la session TOM (1002) mais pas en cron. Problème de DISPLAY mais je ne sais pas comment resoudre ce problème.
J'ai le sentiment que l'utilisateur TUX (1000) à "un affichage universel" tandis que les autres non, il faudrait stipuler quel écran utiliser mais "je n'en ai qu'un" le DISPLAY=:0 .
Lorsque je lance la commande "who" dans le terminal, TUX  est tty2 et TOM est tty3. Associer? Faire un "pont"? Je ne sais pas.

Si une personne bien équipée pouvait me partager son savoir... Ce serait fort aimable! big_smile

Bonne journée à tous!

Ps: Demain c'est le 14 Février, n'oubliez pas vos moitiers! cool

PPS: j'ai oublié de dire, j'ai inclus TOM dans les mêmes groupes de TUX pour essayer question de voir si ce serait une histoire d'autorisation, cela ne change rien.

EDIT: j'ai trouvé! Enfin je pense, en tout cas, cela fonctionne.

@ O_20_100_O:
Merci pour ta remarque concernant les sessions utilisateurs obligatoirement identiques sur les deux postes, info très importante et logique... Je continue tout de même à chercher comment accéder au DISPLAY d'un utilisateur logué via ROOT sans connexion sur le compte de l'utilisateur, il doit y avoir moyen!

Pour ce qui est du DISPLAY, j'ai remarqué qu'au démarrage de la machine, la variable $DISPLAY:0 est attribuée au premier utilisateur qui se log, si un second utilisateur se log, il recevra $DISPLAY:1, un troisième utilisateur recevra $DISPLAY:2, etc...
j'ai donc testé la chose!
J'ai repris la ligne suivante:

40 6 * * * DISPLAY=:0 zenity --info --text="test"

et ai remplacé DISPLAY=:0 par DISPLAY=:1
... Et fatalement, cela fonctionne étant donné que l'utilisateur TOM s'est logué en seconde position!...
Je vais donc inclure dans un script une commande qui ira "chercher" le DISPLAY et créera la ligne Zenity etc...
de telle manière que peu importe la séquence de log, le message arrivera toujours sur le bon DISPLAY!
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAYYYY ! ...désolé. neutral

Merci à tous pour vos aides!

Bises au chat!


The Gate family changed my life, Tux gave it back to me...
Comprendre c'est avancer

Hors ligne