J'ai entendu dire qu'il existe une façon de lancer des programmes avec une interface graphique sans gestionnaire d'affichage - directement du terminal. Est-ce pour vrai et si oui, comment puis-je faire ça?
Voici les bases pour la gestion d'une application d'interface graphique sans tête, d'une manière (vnc
) pour vous connecter. Travaille sur RHEL7
et Centos 7
, avec famille. Et déchiré de mon propre docker-image que j'utilise pour Crashplan situé à - https://github.com/xeor/dockerfiles/tree/master/crashplan/ (voir Dockerfile
pour Configuration et init/setup
pour le démarrage.
# Needed environment variables
export DISPLAY=:99.0
export SCREEN_WIDTH=1200
export SCREEN_HEIGHT=960
export SCREEN_DEPTH=24
export GEOMETRY="${SCREEN_WIDTH}x${SCREEN_HEIGHT}x${SCREEN_DEPTH}"
# Needed packages
yum install -y xorg-x11-server-Xvfb x11vnc gtk2 xorg-x11-fonts-*
# Set a password (if variable vncpass is sat, else its `secret`)
mkdir -p ~/.vnc && x11vnc -storepasswd ${vncpass:-secret} ~/.vnc/passwd
# Start up the fake display and run the application you want (the `Java ...` part)
xvfb-run --server-args="$DISPLAY -screen 0 $GEOMETRY -ac +extension RANDR" Java .... > log/ui_output.log 2> log/ui_error.log &
# Wait for the app to start, or else, the vnc server will die before starting
sleep 5
# vnc itself
x11vnc -forever -usepw -shared -rfbport 5900 -display $DISPLAY
Vous devriez maintenant pouvoir vous connecter au serveur: 5900 et voir l'application.
Vous pouvez lancer des applications X à l'aide de SSH X Transfert (SSHX; Il peut également être nécessaire d'être activé dans la configuration du serveur), à condition que vous disposiez d'une affichage local x.
L'application lancera et affichera localement tout en fonctionnant sur un système sans tête. Vous devrez avoir X installé sur le système sans tête afin de disposer des bonnes bibliothèques, ce qui peut ne pas fonctionner avec des applications de gnome plus modernes.
Vous pouvez aussi utiliser $DISPLAY
Pour lancer des applications sur un affichage X ci-joint, même si votre shell est une télécommande (ssh ou console). Si vous êtes racine et que la personne connectée sur l'affichage X n'est pas, vous pouvez remplacer la sécurité xauth
Security et publier une fenêtre sur leur écran. Cela fonctionne également si vous avez deux serveurs d'affichage X différents sur différents moniteurs.
Une autre affiche mentionne VNC; J'ai également utilisé NX à cet effet et je le préfère.