2 votes

Y a-t-il un moyen de modifier DISPLAY de manière similaire à la façon dont cela fonctionne pour X11 avec le système d'affichage / gestionnaire de fenêtres macOS afin que d'autres utilisateurs puissent

J'ai un scénario où j'ai besoin d'exécuter des applications graphiques d'autres utilisateurs à partir de la shell sur l'écran actuellement actif. En d'autres termes, je suis connecté en tant qu'utilisateur "A" et dans le Terminal je fais su à l'utilisateur "B" et j'ai besoin d'exécuter TextEdit.app en tant qu'utilisateur "B" sur l'écran graphique de l'utilisateur A.

Actuellement, si je démarre (sous Catalina) /Sys/System/Applications/TextEdit.app/Contents/MacOS/TextEdit je vois ce qui suit dans le Terminal :

TextEdit[26292:293814] +[NSXPCSharedListener endpointForReply:withListenerName:]: une erreur s'est produite lors de la tentative d'obtention du point de terminaison pour l'auditeur 'ClientCallsAuxiliary': Connexion interrompue
TextEdit[26292:293831] La connexion au serveur de vérification orthographique a été invalide
TextEdit[26292:293792] Dans -[NSApplication(NSQuietSafeQuit) _updateCanQuitQuietlyAndSafely], _LSSetApplicationInformationItem(NSCanQuitQuietlyAndSafely) a renvoyé une erreur -600

Et bien que TextEdit s'affiche à l'écran, je ne peux pas obtenir les entrées de la barre de menus pour cela ou enregistrer des fichiers, etc.

Un comportement similaire se produit avec toutes les applications que j'essaie, telles que TextMate.app. J'ai toujours l'impression d'obtenir cette erreur :

TextMate[26365:295425] +[NSXPCSharedListener endpointForReply:withListenerName:]: une erreur s'est produite lors de la tentative d'obtention du point de terminaison pour l'auditeur 'ClientCallsAuxiliary': Connexion interrompue

Y a-t-il un moyen de contourner cela ?

0 votes

Cela ne fonctionnera que pour les applications X11

1 votes

@nohillside J'ai vraiment eu du mal à formuler cela correctement et bien que je comprenne que AFFICHAGE en tant que tel ne fonctionnera pas, je ne peux m'empêcher de me demander s'il existe un autre mécanisme pour aider les applications à utiliser la session d'affichage / wm d'un autre utilisateur, etc. - quelle que soit la terminologie appropriée sur macOS.

0 votes

X11 & DISPLAY ne jouent aucun rôle ici, macOS n'est pas Linux. Pour réécrire la question, il suffit de laisser de côté les détails techniques et de demander comment exécuter des applications GUI à partir du Terminal après avoir utilisé su/sudo.

-1voto

yoliho Points 340

Non

X11 inclut la possibilité d'exécuter une application sur une machine avec l'affichage sur une autre.

Pour macOS, l'application et l'affichage doivent être sur la même machine.

Ce qui peut être fait, c'est d'utiliser le partage d'écran de sorte que si vous partagez l'écran de B à A, A puisse interagir avec le programme fonctionnant sur la machine de A.

Il existe également des applications qui permettent de diffuser d'une machine à une autre - par exemple, si vous exécutez sur la machine de B, d'autres machines peuvent voir l'interaction de B avec le programme.

0 votes

Err, l'OP demande s'il est possible d'utiliser des applications en cours d'exécution en tant qu'utilisateur B depuis Terminal tout en étant connecté en tant qu'utilisateur A, tout cela sur la même machine.

0 votes

@nohillside a raison, ceci se passe sur la même machine, je suis simplement connecté en tant qu'utilisateur différent dans Terminal. Donc bien que peut-être pas entièrement différent de ce que tu as dit ici, ce n'est pas le même scénario que celui dont j'ai demandé.

0 votes

Cela pourrait ne pas être le même scénario mais c'est en fait la même réponse/le même problème

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X