2017-08-16 1 views
1

Y at-il un moyen de savoir qui est connecté à X sur la console ?Qui est connecté à DISPLAY: 0

Dans Ubuntu 16.04, je peux utiliser who qui vous indique où vous vous trouvez, comme dans cet exemple où test1: est connecté au X-console alors que je suis connecté avec ssh.

$ who 
test1 tty7   2017-08-12 02:00 (:0) 
ulf  pts/1  2017-08-16 13:56 (192.168.1.20) 

Mais sur les deux Debian 4.0 et OpenBSD 5.1 who ne me dira pas cela et la sortie est légèrement différente.

Y at-il un moyen stable qui fonctionnera sur la plupart des systèmes pour obtenir l'utilisateur qui est connecté à la X-console?

+0

Cela ressemble plus à une question d'administration système qu'à une question de programmation. –

+0

Affiché à serverfault: https://serverfault.com/q/869125/243665 – UlfR

Répondre

0

Le champ FROM peut être affiché sur la plupart des systèmes avec w -f.

+0

La page de manuel indique 'La valeur par défaut, telle que validée, est que le champ from ne doit pas être imprimé, bien que votre administrateur système ou le responsable de la distribution ait pu compiler un version dans laquelle le champ from est montré par défaut. »et dans les versions d'Ubuntu et de Debian, il est déjà activé et dans OpenBSD, il est activé et me dit' -f ... n'est plus supporté'. Mais 'w' ne m'aide pas de toute façon je pense. – UlfR

+0

Qu'en est-il de 'last -f/var/log/utmp'? – piarston

0

logname peut répondre à vos besoins. Il affiche l'utilisateur connecté, même après su. Voir POSIX: logname. L'utilitaire de nom de journal doit écrire le nom de connexion de l'utilisateur sur la sortie standard. Le nom de connexion doit être la chaîne qui serait renvoyée par la fonction getlogin() définie dans le volume System Interfaces de POSIX.1-2008. Dans les conditions où la fonction getlogin() échouerait, l'utilitaire de nom de journal écrira un message de diagnostic à l'erreur standard et quittera avec un état de sortie différent de zéro. J'ai trouvé que certains émulateurs de terminal ne donnaient pas les bons résultats, par exemple gnome-terminal dans Ubuntu 16.04. Je ne suis pas sûr que ce soit un bug d'Ubuntu ou juste cette version de gnome-terminal; gnome-terminal sur fedora et debian n'a pas le problème.

Il a été discuté que logname peut être truqué par des applications malveillantes, mais je ne trouve pas le lien à nouveau, je pense que c'était une discussion gnome-devel.

+0

Pas ce que je cherche! Si l'utilisateur 'bert' s'assoit devant l'ordinateur' foo' et se connecte, il se trouve à la _X-console_ (ou à tout autre nom). Quand je me connecte en même temps avec 'ssh' à' foo', 'logname' dira' ulf' pendant que je voudrais obtenir 'bert'. – UlfR