Was ist der grundlegendste Fenstermanager für Ubuntu, mit dem eine einzelne Anwendung angezeigt werden kann?

7

Ich habe versucht, eine Vollbildanwendung ohne Fenstermanager mit xinit zu starten, was funktioniert, aber anstatt oben links auf dem Bildschirm zu beginnen, startet die Anwendung irgendwo in der Mitte meines Bildschirms.

Ich habe dasselbe versucht, indem ich einen benutzerdefinierten Eintrag in / usr / share / xsessions verwendet und diesen von lightdm anstelle des Standard-Ubuntu-Fenstermanagers gestartet habe, aber das gibt mir das gleiche Ergebnis.

Ich habe dann meine Anwendung zu den Startanwendungen des Ubuntu-Fenstermanagers hinzugefügt und das funktioniert ordnungsgemäß ... aber ich möchte nicht den gesamten Desktop starten

Ich denke also, dass ich mit einem einfachen Fenstermanager festlegen kann, dass meine Anwendung gestartet werden soll, sobald sie geladen wird, und dass sie daher im Vollbildmodus und in der oberen linken Ecke des Bildschirms angezeigt wird.

Im Grunde genommen also ein Window Manager, mit dem ich alles außer meiner Anwendung deaktivieren kann. (Und der Hintergrund sollte standardmäßig vollständig schwarz sein, damit der Bildschirm schwarz ist, bis meine Anwendung vollständig geladen ist

TimothyP
quelle

Antworten:

10

Der Ratpoison Window Manager ist genau das, was Sie wollen.

  1. Ratpoison installieren

    sudo apt-get install ratpoison
    
  2. Erstellen Sie einen Benutzer und lassen Sie diesen Benutzer sich automatisch anmelden.

  3. Erstellen Sie eine Desktop-Datei in /usr/share/xsessions/kiosk.desktop

    [Desktop Entry]
    Encoding=UTF-8
    Name=Browser Mode
    Comment=Kiosk desk Session
    Exec=/usr/share/xsessions/run_kiosk.sh
    Type=Application`
    
  4. Erstellen Sie /usr/share/xsessions/run_kiosk.sh. Ändern Sie Folgendes, um loszulegen

    #!/bin/bash
    /usr/bin/ratpoison &
    
    TERMINAL=`who | awk '{print $2}'`
    
    if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
            eval 'dbus-launch --sh-syntax --exit-with-session'
    fi
    
    rm -Rf ~/.config/google-chrome
    dbus-launch /usr/bin/google-chrome --no-default-browser-check
    rm -Rf ~/.config/google-chrome
    
    kill `ps | grep dbus-launch | grep -v grep | awk '{print $1}'`
    
  5. Dadurch wird Chrome bei jedem Start zurückgesetzt. Verwenden Sie die Standardeinstellungen in /opt/google/chrome/master_preferences, um Chrome nach Ihren Wünschen einzurichten.

  6. Legen Sie den Standarddesktop als Kiosk fest:

    sudo /usr/lib/lightdm/lightdm-set-defaults -s kiosk
    
Ryan Collins
quelle
Dies ist genau das, was ich letztendlich verwendet habe, danke
TimothyP
2

Schauen Sie sich den fantastischen Fenstermanager an . Es ist ein Kachel-Fenstermanager. Es ist extrem leicht.

Sie können es so konfigurieren, dass standardmäßig das Vollbild-Layout und ein schwarzer Hintergrund verwendet werden. Schauen Sie sich das Wiki an, um ein Gefühl für das Konfigurationssystem zu bekommen. Eine minimale Konfiguration in Ihrem Fall kann Folgendes enthalten:

Abhängigkeiten erforderlich:

require("awful")
require("awful.layout")
require("awful.util")
require("awful.tag")
require("screen")
require("freedesktop.utils")
require("freedesktop.desktop")

Beschränken Sie die Layouts auf Vollbild mit:

layouts =
{
    awful.layout.suit.max.fullscreen
}

Definieren Sie nun ein Tag für Ihre Anwendung:

-- {{{ Tags
-- Define a tag table which will hold all screen tags.
tags = {
     names = {"your_app" },
     layout = {layouts[1]}
}
for s = 1, screen.count() do
   -- Each screen has its own tag table.
   tags[s] = awful.tag(tags.names, s, tags.layout)
end
-- }}}

Fügen Sie am Ende Ihrer Konfiguration Folgendes hinzu, um Ihre Anwendung zu starten:

awful.util.spawn("/usr/bin/your_app --with --options")
Tom Regner
quelle