Inicie ubuntu sin un entorno de escritorio pero inicie una aplicación X

29

Quiero hacer una computadora pequeña solo para navegar por Internet. No quiero cargar un entorno de escritorio para mantener el uso de RAM, CPU y GPU lo más bajo posible. La computadora se ejecutará en una CPU ARM. No me importa con la distribución que uso, pensé en el viejo y sencillo Debian.

RaverTiny
fuente
Entonces me gustaría sugerir ubuntu minimal iso e instalar blackbox DE
Tachyons
No soy realmente un experto, pero sugeriría echar un vistazo a la configuración de xsession (hay una página de manual para xsession). Si solo desea este comportamiento para un usuario, cree un archivo en el directorio de inicio de los usuarios llamado .xsession y coloque el comando que desea ejecutar en él. Entonces, probablemente tenga que usar un administrador de inicio de sesión que le permita iniciar sesión en xsession predeterminado en lugar de en otro entorno de escritorio (o deshabilitar el administrador de inicio de sesión y usar startx en su lugar). Sin embargo, recomendaría usar un administrador de ventanas para guardar recursos (Tachyons sugirió blackbox, y hay muchos otros).
soulsource
Si no carga el entorno de escritorio, ¿cómo se supone que abra el navegador de Internet?
dlin
55
@ Nick Puedes. Con un servidor X simple como 'sesión' sin un administrador de ventanas, puede ejecutar exactamente una aplicación a pantalla completa (sin bordes u otra decoración). Así es como funcionan estas distribuciones XBMC mínimas, por ejemplo. Hice esto con Chromium una vez hace unos años en 10.04, pero no guardé la configuración exacta.
gertvdijk
"Pensé en el viejo y sencillo Debian". Si está considerando otras distribuciones que no sean Ubuntu, entonces debería preguntar esto en Unix y Linux StackExchange . Este sitio Ask Ubuntu es solo para Ubuntu: las preguntas no relacionadas con Ubuntu se consideran fuera de tema aquí.
gertvdijk

Respuestas:

26
  1. En /usr/share/xsessions/crear un archivo en el formato ".desktop" para crear su sesión personalizada mínima. Para ejecutar Google Chrome como la única aplicación después de iniciar sesión, haga lo siguiente:

    [Desktop Entry]
    Type=Application
    Exec=google-chrome
    Name=Google Chrome
    Comment=Testing
    
  2. Reinicie su administrador de pantalla, p. Ej.

    sudo restart lightdm  # or kdm, gdm, etc.
    

    O simplemente desconectarse.

  3. "Google Chrome" debería aparecer en la lista de sesiones para seleccionar (junto a Unity normal u otros DE que haya instalado).

    Inicia sesión y disfruta.

Opcional

  • XDM es un administrador de pantalla muy mínimo: LightDM, GDM y KDM son bastante "grandes". Instale eso usando el paquete xdmInstalar xdm y reconfigure el valor predeterminado para cuando su sistema se inicie usando

    sudo dpkg-reconfigure lightdm
    
  • Configure su administrador de pantalla para iniciar sesión automáticamente en un usuario específico. Consulte la documentación de su administrador de pantalla.

gertvdijk
fuente
1
Si uno necesita traer todo el Escritorio, ¿simplemente se elimina el archivo .desktop y se reinicia?
enthusiasticgeek
1
@enthusiasticgeek No es necesario. En el administrador de inicio de sesión, simplemente seleccione el escritorio completo para iniciar sesión, como se explica en el paso 3.
gertvdijk
¿Alguien sabe qué hacer para cambiar el idioma de entrada del sistema en modo de aplicación única?
fnc12
¿Alguien enfrenta el problema cuando falta el puntero del mouse en el modo de aplicación única?
fnc12
He comenzado google-chrome --kiosk, pero no ocupa la pantalla completa ... ¿alguna forma de maximizarlo?
tumbudu
24

Sé que esta está desactualizada, pero no pude ver la respuesta correcta para la solicitud tal como la entiendo, así que aquí va:

He tenido un proyecto para crear un sistema embebido que ejecuta una aplicación Java gráfica específica en una computadora simple con un procesador Atom y una pantalla táctil. Mi decisión fue evitar el uso de gestores de ventanas como tales, para mantenerlo a) simple, b) ligero yc) evitar todo tipo de mensajes del sistema en la pantalla.

El sistema se ve así:

  1. Instalando el sistema base de Ubuntu, la variante más ligera de 12.04 (todavía cerca de 1 GB, pero está bien para mí incluso en un disco flash de 2 GB). Puede torturarlo un poco para hacer una instalación más pequeña, por supuesto, hay varias formas de hacerlo. Además, no tiene que usar Ubuntu, pero luego se deben revisar mis instrucciones a continuación: existen diferencias entre las distribuciones, especialmente en los archivos de configuración y sus ubicaciones.

  2. Instalar el xorg y algunas otras piezas útiles de software útil, como el calibrador xinput para mi pantalla táctil resistiva, ifplugd para la detección de conexión de ethernet en vivo, ácido para la detección del funcionamiento del botón de encendido, etc.

  3. Abra /etc/init/tty1.conf y cambie la exec /sbin/getty -8 -i 38400 tty1línea a algo así exec /sbin/getty -8 -i 38400 tty1 -a username, donde "nombre de usuario" es el nombre del usuario que desea iniciar sesión automáticamente.

  4. Para iniciar la sesión X automáticamente, abra el archivo .bashrc de su usuario ~/.bashrcy agregue algo como esto al final del archivo:

    if [ $(tty) == "/dev/tty1" ]; then
        while true; do startx -- -nocursor -depth 16; echo "Again [$?]..."; done
    fi

    (El material -nocursor es para pantallas táctiles, retírelo para que la pantalla normal vea el puntero del mouse) Esto reaparecerá el servidor X, por lo que si su aplicación se cierra por cualquier motivo, reiniciará el servidor X automáticamente.

  5. Ahora, en el archivo .xsession de su usuario ~/.xsession, escriba algo como esto (recuerde que cada comando aquí se ejecuta en serie, así que use el símbolo & al final de la línea si desea iniciar un servidor):

    xrandr --output VGA1 --mode 800x600      #For setting a video mode
    xrandr --fb 800x600                      #Not always required, sets the framebuffer size
    xsetbg -center background.png &          #To set the background, comes from the xloadimage package
    xset -dpms s off                         #To avoid screen going blank after a while
    ~username/start.sh                       #Start your application
    #You can put some other application calls here that will be run when your application exits

Hay muchas otras cosas a tener en cuenta para un sistema de este tipo, esta es solo la configuración básica. Espero que ayude a alguien. Buena suerte.

tolerante a fallos
fuente
1

En los viejos tiempos, solo podías correr X, y X se encendía con una pantalla en blanco. Entonces podrías configurar DISPLAY=:0y ejecutar algo allí. Quizás esto todavía funciona? Desde un caparazón querrás X&ponerlo en segundo plano.

Mire el -geometryparámetro estándar de la línea de comando X para ajustar la ubicación de la ventana, ya que no tendrá un administrador de ventanas que lo ayude con eso.

Para ejecutar algo como no root, deberá buscarlo xauthpara configurar la autorización X para el usuario no root.

Robie Basak
fuente
-3

En primer lugar, no entiendo cómo se supone que debe abrir el navegador web sin cargar el entorno de escritorio. Es como querer cocinar una comida sin encender el horno. . De acuerdo, eso es posible con X Server, tengo la pregunta equivocada.

Lo que está buscando es elegir qué aplicaciones se iniciarán durante el proceso de arranque.

  • En Ubuntu / Unity:

    Haga clic en el ícono de ajustes en la esquina superior derecha del panel superior. Seleccione Aplicaciones de inicio .

    Una vez abierto, se le mostrará una lista de aplicaciones que su sistema inicia cuando se inicia su sistema operativo.

    Haz clic en Agregar en la esquina superior derecha.

    Se le mostrará un cuadro de diálogo.

    En el cuadro de diálogo resultante:

    1) Ingrese el nombre del programa en el campo "nombre" .

    2) Ingrese el comando para ejecutar el programa en el campo "comando" .

    3) Ingrese cualquier comentario que desee en el campo "comentarios" .

    Por ejemplo:

    Haga clic en guardar y cerrar .

  • En gnome shell:

    Presione Alt+F2para que aparezca el cuadro de diálogo Ejecutar.

    Tipo gnome-session-properties.

    Haga clic en el botón "Agregar" .

    En el cuadro de diálogo resultante:

    1) Ingrese el nombre del programa en el campo "nombre" .

    2) Ingrese el comando para ejecutar el programa en el campo "comando" .

    3) Ingrese cualquier comentario que desee en el campo "comentarios" .

    Haga clic en guardar y cerrar .

  • En KDE:

    Vaya a K-Menu> Computadora> Configuración del sistema.

    Seleccione Inicio y apagado y haga clic en el botón Agregar programa .

    Escriba el comando para ejecutar el programa y haga clic en Aceptar .

  • En LXDE:

    Ejecute los siguientes comandos en la terminal:

    mkdir -p ~/.config/lxsession/LXDE/
    touch ~/.config/lxsessions/LXDE/autostart
    leafpad ~/.config/lxsessions/LXDE/autostart
    

    Agregue esta línea al archivo de inicio automático:

    @program_command
    

    Haga clic en guardar y cerrar .

  • EN LXDE / Lubuntu:

    Ya existe un archivo de inicio automático, en ~./config/lxsession/Lubuntu/autostart.

    Simplemente use este archivo en lugar de crear uno nuevo, de la manera descrita anteriormente.

  • En XFCE:

    En el menú Aplicaciones, abra el Administrador de configuración y seleccione Sesión y Inicio .

    En la pestaña Inicio automático de la aplicación, haga clic en el botón Agregar .

    1) Ingrese el nombre del programa en el campo "nombre" .

    2) Ingrese el comando para ejecutar el programa en el campo "comando" .

    3) Ingrese cualquier comentario que desee en el campo "comentarios" .

    Haga clic en guardar y cerrar .

  • Dado que solo desea iniciar un navegador web (supongo que Firefox), puede eliminar la siguiente lista de programas de su lista de aplicaciones de inicio:

    -Bluetooth manager -Deja Dup -Gnome Do -Gnome Login Sound -Indicator Workspaces -Ubuntu One -Visual Assistance -Remote Desktop -Pulseaudio

    pero definitivamente depende de ti.

    dlin
    fuente
    12
    Creo que la pregunta es sobre iniciar aplicaciones en el arranque sin un entorno de escritorio . Su respuesta es sobre las aplicaciones de inicio después de que se haya iniciado el DE.
    gertvdijk