Uruchom ubuntu bez środowiska graficznego, ale uruchom aplikację X.


29

Chcę zrobić mały komputer tylko do przeglądania Internetu. Nie chcę ładować środowiska pulpitu, aby zużycie pamięci RAM, procesora i karty graficznej było jak najniższe. Komputer będzie działał na procesorze ARM. Nie obchodzi mnie Distro, którego używam, myślałem o starym dobrym prostym Debianie.


Następnie chciałbym zasugerować ubuntu minimal iso i zainstalować
blackbox

Nie jestem ekspertem, ale sugeruję przyjrzeć się konfiguracji xsession (jest strona podręcznika dla xsession). Jeśli chcesz mieć to zachowanie tylko dla jednego użytkownika, utwórz plik w katalogu domowym użytkowników o nazwie .xsession i umieść w nim polecenie, które chcesz uruchomić. Następnie prawdopodobnie będziesz musiał użyć menedżera logowania, który pozwala zalogować się do domyślnej wersji xsession zamiast w inne środowisko pulpitu (lub wyłączyć menedżera logowania i zamiast tego użyć startx). Niemniej jednak polecam zamiast tego użyć menedżera okien do oszczędzania zasobów (Tachyons zasugerował blackbox, i jest wiele innych).
soulsource

Jeśli nie ładujesz środowiska pulpitu, jak masz otworzyć przeglądarkę internetową?
dlin,

5
@Nick You can. Dzięki zwykłemu serwerowi X jako „sesji” bez menedżera okien możesz uruchomić dokładnie jedną aplikację na pełnym ekranie (bez ramek lub innej dekoracji). Tak na przykład działają te minimalne dystrybucje XBMC. Zrobiłem to z Chromium raz kilka lat temu w 10.04 - ale nie zapisałem dokładnej konfiguracji.
gertvdijk

„Myślałem o starym, dobrym, prostym Debianie”. Jeśli zastanawiasz się nad innymi dystrybucjami niż Ubuntu, powinieneś zapytać o to na Unix & Linux StackExchange . Ta strona Ask Ubuntu jest przeznaczona tylko dla Ubuntu - tutaj niezwiązane z pytaniami dotyczącymi Ubuntu są uważane za nie na temat.
gertvdijk

Odpowiedzi:


26
  1. W /usr/share/xsessions/utworzyć plik w formacie „.desktop”, aby stworzyć swój własny, minimalny sesji. Aby uruchomić Google Chrome jako jedyną aplikację po zalogowaniu, wykonaj następujące czynności:

    [Desktop Entry]
    Type=Application
    Exec=google-chrome
    Name=Google Chrome
    Comment=Testing
    
  2. Uruchom ponownie menedżera ekranu, np

    sudo restart lightdm  # or kdm, gdm, etc.
    

    Lub po prostu wyloguj się.

  3. „Google Chrome” powinien pojawić się na liście sesji, aby wybrać (obok zwykłego Unity lub innych zainstalowanych DE).

    Zaloguj się i ciesz się.

opcjonalny

  • XDM jest bardzo minimalnym menedżerem wyświetlania - LightDM, GDM i KDM są dość „duże”. Zainstaluj to za pomocą pakietu xdmZainstaluj xdm i ponownie skonfiguruj wartość domyślną, gdy system uruchamia się za pomocą

    sudo dpkg-reconfigure lightdm
    
  • Skonfiguruj menedżera wyświetlania, aby automatycznie logował się określonego użytkownika. Zobacz dokumentację swojego menedżera wyświetlania.


1
Jeśli trzeba przynieść cały pulpit, czy wystarczy usunąć plik .desktop i uruchomić ponownie?
entuzjastyczny

1
@enthusiasticgeek Nie ma potrzeby. W menedżerze logowania po prostu wybierz pełny pulpit, na którym chcesz się zalogować, jak wyjaśniono w kroku 3.
gertvdijk

Czy ktoś wie, jak zmienić język wejściowy systemu w trybie pojedynczej aplikacji?
fnc12

Czy ktoś ma problem z brakiem wskaźnika myszy w trybie pojedynczej aplikacji?
fnc12,

Zacząłem google-chrome --kiosk, ale nie zajmuje on pełnego ekranu .. w jakikolwiek sposób, aby go zmaksymalizować ..?
tumbudu

24

Wiem, że ten jest nieaktualny, ale nie rozumiem poprawnej odpowiedzi na żądanie, tak jak rozumiem, więc oto:

Miałem projekt stworzenia systemu osadzonego z konkretną graficzną aplikacją Java na prostym komputerze z procesorem Atom i ekranem dotykowym. Moja decyzja polegała na unikaniu korzystania z menedżerów okien jako takich, aby było to a) proste, b) lekkie i c) unikanie wszelkiego rodzaju komunikatów systemowych rozsadzających się na ekranie.

System wygląda następująco:

  1. Instalowanie podstawowego systemu Ubuntu, najlżejszy wariant 12.04 (wciąż blisko 1 GB, ale dla mnie ok, nawet na dysku flash 2 GB). Możesz trochę torturować, aby wykonać mniejszą instalację, oczywiście jest na to kilka sposobów. Nie musisz też używać Ubuntu, ale moje poniższe instrukcje powinny zostać przejrzane - istnieją różnice między dystrybucjami, szczególnie w plikach konfiguracyjnych i ich lokalizacjach.

  2. Instalowanie xorga i innych fajnych elementów pomocnego oprogramowania, takich jak kalibrator xinput dla mojego rezystancyjnego ekranu dotykowego, ifplugd do wykrywania połączenia Ethernet na żywo, acpid do wykrywania działania przycisku zasilania i tak dalej.

  3. Otwórz /etc/init/tty1.conf i zmień exec /sbin/getty -8 -i 38400 tty1wiersz na coś takiego exec /sbin/getty -8 -i 38400 tty1 -a username, gdzie „nazwa użytkownika” to nazwa użytkownika, którego chcesz automatycznie zalogować.

  4. Aby automatycznie rozpocząć sesję X, otwórz plik .bashrc użytkownika ~/.bashrci dodaj coś takiego na końcu pliku:

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

    (Opcja -nocursor dotyczy ekranów dotykowych, usuń ją, aby wyświetlić normalny ekran, aby wyświetlić wskaźnik myszy). To odrodzi serwer X, więc jeśli aplikacja zostanie zamknięta z jakiegokolwiek powodu, automatycznie zrestartuje serwer X.

  5. Teraz w pliku .xsession użytkownika ~/.xsessionnapisz coś takiego (pamiętaj, że każde polecenie tutaj jest wykonywane szeregowo, więc użyj symbolu & na końcu wiersza, jeśli chcesz uruchomić serwer):

    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

Jest wiele innych rzeczy do rozważenia dla takiego systemu, jest to tylko podstawowa konfiguracja. Mam nadzieję, że to komuś pomoże. Powodzenia.


1

W dawnych czasach można było po prostu biec X, a X strzelałby z pustym ekranem. Następnie możesz ustawić DISPLAY=:0i uruchomić coś tam. Być może to nadal działa? Z muszli będziesz chciał X&ją w tle.

Sprawdź -geometrystandardowy parametr wiersza polecenia X, aby dostosować położenie okna, ponieważ nie będziesz miał menedżera okien, który by ci w tym pomógł.

Aby uruchomić coś innego niż root, musisz zajrzeć xauthdo konfiguracji autoryzacji X dla użytkownika innego niż root.


-3

Przede wszystkim nie rozumiem, w jaki sposób należy otworzyć przeglądarkę internetową bez ładowania środowiska pulpitu. To tak, jakby gotować posiłek bez włączania piekarnika. . Ok, to możliwe z X Server, źle zrozumiałem pytanie.

To, czego szukasz, to wybór aplikacji, które zostaną uruchomione podczas procesu rozruchu.

  • W Ubuntu / Unity:

    Kliknij ikonę koła zębatego w prawym górnym rogu górnego panelu. Wybierz aplikacje startowe .

    Po otwarciu zostanie wyświetlona lista aplikacji, które system uruchamia się po uruchomieniu systemu operacyjnego.

    Kliknij Dodaj w prawym górnym rogu.

    Zostanie wyświetlone okno dialogowe.

    W wynikowym oknie dialogowym:

    1) Wpisz nazwę programu w polu „name” .

    2) Wpisz polecenie, aby uruchomić program w polu „polecenie” .

    3) Wpisz dowolne komentarze w polu „komentarze” .

    Na przykład:

    Kliknij Zapisz i zamknij .

  • W skorupce Gnome:

    Naciśnij, Alt+F2aby wyświetlić okno dialogowe Uruchom.

    Wpisz gnome-session-properties.

    Kliknij przycisk „Dodaj” .

    W wynikowym oknie dialogowym:

    1) Wpisz nazwę programu w polu „name” .

    2) Wpisz polecenie, aby uruchomić program w polu „polecenie” .

    3) Wpisz dowolne komentarze w polu „komentarze” .

    Kliknij Zapisz i zamknij .

  • W KDE:

    Przejdź do K-Menu> Komputer> Ustawienia systemu.

    Wybierz Uruchomienie i zamknięcie i kliknij przycisk Dodaj program .

    Wpisz polecenie, aby uruchomić program i kliknij OK .

  • W LXDE:

    Uruchom następujące polecenia w terminalu:

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

    Dodaj ten wiersz do pliku autostartu:

    @program_command
    

    Kliknij Zapisz i zamknij .

  • W LXDE / Lubuntu:

    Plik autostartu już istnieje, w ~./config/lxsession/Lubuntu/autostart.

    Po prostu użyj tego pliku zamiast tworzyć nowy, w sposób opisany powyżej.

  • W XFCE:

    W menu Aplikacje otwórz Menedżera ustawień i wybierz Sesja i uruchomienie .

    Na karcie Autostart aplikacji kliknij przycisk Dodaj .

    1) Wpisz nazwę programu w polu „name” .

    2) Wpisz polecenie, aby uruchomić program w polu „polecenie” .

    3) Wpisz dowolne komentarze w polu „komentarze” .

    Kliknij Zapisz i zamknij .

  • Ponieważ chcesz uruchomić tylko przeglądarkę internetową (chyba Firefox), możesz usunąć następującą listę programów z listy aplikacji startowych:

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

    ale to zależy od ciebie.


    12
    Myślę, że pytanie dotyczy uruchamiania aplikacji przy rozruchu bez środowiska graficznego . Twoja odpowiedź dotyczy aplikacji startowych po uruchomieniu DE.
    gertvdijk
    Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
    Licensed under cc by-sa 3.0 with attribution required.