Comment puis-je définir automatiquement la variable $ DISPLAY pour ma session en cours
Je vois que $affichage est mis à localhost:0,0 si je suis en cours d'exécution sur un serveur vnc cela peut ne pas être correcte, est-il un moyen de régler automatiquement dans mon script de connexion?
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
utilisez-vous de la Fête? Allez dans le fichier .bashrc dans votre répertoire home et définissez la variable, puis de l'exporter en.
DISPLAY=localhost:0.0 ; export DISPLAY
vous pouvez utiliser /etc/bashrc si vous voulez le faire pour tous les utilisateurs.
Vous pouvez également regarder dans ~/.bash_profile et /etc/profile
EDIT:
Voici quelque chose que j'ai frappé vers le haut. Il inspecte l'environnement de la dernière lancé "gnome-session" du processus (l'ÉCRAN est correctement réglé lorsque VNC lance une session/gestionnaire de fenêtre). Remplacer "gnome-session" avec le nom de tout processus de votre serveur VNC lance au démarrage.
Vous devez simplement être en mesure de déposer dans votre .bashrc fichier.
Je devine ici, sur la base des questions que j'ai eu dans le passé, que je n'résoudre:
J'ai fini avec deux solutions. Ma solution originale a été basée sur l'utilisation de rsh. Depuis lors, la plupart de nos serveurs ont eu ssh d'installé, qui a fait de cette plus facile.
À l'aide de rsh, j'ai mis en place une table de machines vs OS vs options personnalisées qui permettrait d'orienter ce processus en perl. Bourne shell n'était pas suffisant, et nous n'avons pas de bash sur les Chaises ou les ordinateurs HP (et n'ont pas de bash sur AIX, à l'époque - AIX 5L n'était pas encore sorti). Korn n'était pas vraiment une option, soit, comme la plupart de nos boîtes de Linux n'ont pas pdksh installé. Mais, si vous n'avez pas à faire face à ces limitations, vous pouvez mettre en œuvre l'idée en ksh ou bash, je pense.
De toute façon, je gère essentiellement la 'rsh $machine -l $utilisateur "$cmd" " où $de la machine, bien sûr, est la machine que j'ai été la journalisation à, $utilisateur, de la même façon évidente (même si quand j'y allais en tant que "root" cela a eu un écart que nous avons de multiples racines, sur certaines machines, pour des raisons que je ne comprends pas tout), et $cmd était fondamentalement "AFFICHER=$AFFICHAGE xterm", mais si je devais le lancement d'une console, par exemple, $cmd serait "konsole --display=$AFFICHAGE". Puisque $AFFICHAGE a été évalué localement (où elle est définie correctement), et de ne pas être passé littéralement à travers rsh, l'affichage devrait toujours être réglé correctement.
J'ai eu aussi à faire en sorte que personne n'a fait quelque chose de stupide comme remise à zéro AFFICHAGE si elle a déjà été définie.
Maintenant, je viens d'utiliser ssh, assurez-vous que X11Forwarding est définie sur oui sur le serveur (sshd_config), et puis je peux juste ssh à la machine, laissez-X les commandes à travers le fil crypté, et il va toujours revenir à la bonne place.
Votre vncserver avoir un fichier de configuration somewher que définir le numéro de l'écran. Pour le faire automatiquement, une solution est d'analyser ce fichier, extraire le nombre et le configurer correctement. Une manière plus simple (mieux) est d'avoir ce numéro d'affichage situé dans une config de script et de l'utiliser dans votre VNC server config et dans vos scripts d'initialisation.
Vous aurez besoin de dire à votre client vnc pour exporter le bon $AFFICHAGE une fois que vous avez connecté. Comment vous faites cela dépendra probablement de votre client vnc.