Escuché que hay una manera de iniciar programas con interfaz gráfica sin administrador de pantalla, directamente desde la terminal. ¿Es esto real y si es así, cómo puedo hacer eso?
xinito startx?
Escuché que hay una manera de iniciar programas con interfaz gráfica sin administrador de pantalla, directamente desde la terminal. ¿Es esto real y si es así, cómo puedo hacer eso?
xinito startx?
Respuestas:
Puede ejecutarlos sin administrador de pantalla, pero necesita una sesión X en ejecución. Los detalles dependerán de su distribución, pero debería poder obtener una sesión X mínima con un solo terminal ejecutando
xinit
No he hecho esto en años pero, la última vez que lo hice, eso daría algo como esto:

Una vez allí, puede ejecutar un programa GUI normalmente, preferiblemente ejecutándolo en segundo plano (con &) para que no pierda el acceso a su único terminal.
xterm ¶ obtener un terminal adicional, no solo xterm. Etc.
Aquí están los conceptos básicos para ejecutar una aplicación GUI sin cabeza, con una forma ( vnc) de conectarse a ella. Trabaja en RHEL7y Centos 7, con la familia. Y arranqué mi propia imagen de Docker que utilizo para Crashplan ubicada en https://github.com/xeor/dockerfiles/tree/master/crashplan/ (ver Dockerfilepara la configuración y el init/setupinicio.
# 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
Ahora debería poder conectarse al servidor: 5900 y ver la aplicación.
Si. Simplemente haga lo mismo que hace un administrador de pantalla. Además de la pantalla de inicio de sesión gráfica (que no necesita en este caso), el administrador de pantalla solo hace dos cosas:
Puede usar herramientas como startxiniciar X11 de la misma manera desde el inicio de sesión de la consola; lanzará Xorg seguido de los clientes que figuran en su ~/.xinitrcarchivo.
Por ejemplo, el archivo .xinitrc podría tener startkdeo gnome-session, o podría enumerar los componentes individuales (el administrador de ventanas, un panel / barra de tareas, un escritorio ...)
(Tenga en cuenta que hay algunas diferencias entre xinity startx, por lo general, debe usar este último, ya que algunas distribuciones tienen algunas piezas importantes de configuración que Xinit ignorará, es decir, el xserverrcscript).
Con Wayland, el escritorio y los paneles son una parte integrada del "compositor", por lo que toda la interfaz comienza en un solo paso sin herramientas adicionales. Por ejemplo, puede ejecutar westono iniciar GNOME usando gnome-session --session=gnome-wayland.
Puede iniciar aplicaciones X utilizando el reenvío ssh X (ssh -X; es posible que también deba habilitarse en la configuración del servidor), siempre que tenga una pantalla X local .
La aplicación se iniciará y se mostrará localmente, mientras se ejecuta en un sistema sin cabeza. Necesitará tener X instalado en el sistema sin cabeza para tener las bibliotecas correctas, y esto puede no funcionar con aplicaciones GNOME más modernas.
También puede usar $DISPLAYpara iniciar aplicaciones en una pantalla X adjunta, incluso si su shell es remoto (ssh o consola). Si eres root y la persona que inició sesión en la pantalla X no lo está, puedes anular la xauthseguridad y abrir una ventana en su pantalla de todos modos. Esto también funciona si tiene dos servidores de visualización X diferentes en monitores diferentes.
Otro cartel menciona VNC; También he usado NX para este propósito, y lo prefiero.