Запустіть ubuntu без середовища робочого столу, але запускайте програму X


29

Я хочу зайнятись невеликим комп’ютером лише для перегляду Інтернету. Я не хочу завантажувати робоче середовище, щоб зберегти оперативну пам'ять, процесор та графічний процесор якнайнижче. Комп'ютер буде працювати на процесорі ARM. Мені все одно з Distro, яким я користуюся, я думав про старий добрий звичайний Debian.


Тоді я хотів би запропонувати ubuntu мінімальний iso та встановити blackbox DE
Tachyons

Я насправді не фахівець, але я б запропонував поглянути на конфігурацію xsession (є сторінка man для xsession). Якщо ви хочете, щоб така поведінка була лише для одного користувача, зробіть файл у домашній каталог користувачів з назвою .xsession та введіть у нього команду, яку потрібно запустити. Тоді вам, ймовірно, доведеться використовувати менеджер входу, який дозволяє вам увійти в xsession за замовчуванням замість якогось іншого робочого середовища (або відключити керування входом та замість цього використовувати startx). Тим не менш, я б рекомендував використовувати замість цього менеджер вікон для економії ресурсів (Tachyons запропонував чорний ящик, а є багато інших).
soulsource

Якщо ви не завантажуєте робоче середовище, як ви повинні відкрити Інтернет-браузер?
длін

5
@Nick Можна. З простим сервером X як "сеанс" без вікна менеджера ви можете запустити рівно один повний екран програми (без меж або іншого декору). Так, наприклад, працюють ці мінімальні дистрибутиви XBMC. Я робив це з Chromium один раз кілька років тому в 10.04 - але точну конфігурацію я не зберег.
gertvdijk

"Я думав про старого доброго простого Debian". Якщо ви розглядаєте інші дистрибутиви, ніж Ubuntu, тоді вам слід запитати це на Unix & Linux StackExchange . Цей веб-сайт Ask Ubuntu призначений лише для Ubuntu - тут не пов'язані з питаннями Ubuntu теми є поза темою.
gertvdijk

Відповіді:


26
  1. У /usr/share/xsessions/створенні файлу в форматі «.desktop» , щоб створити свій власний, мінімальний сеанс. Щоб запустити Google Chrome як єдину програму після входу, зробіть це:

    [Desktop Entry]
    Type=Application
    Exec=google-chrome
    Name=Google Chrome
    Comment=Testing
    
  2. Перезапустіть менеджер дисплеїв, наприклад

    sudo restart lightdm  # or kdm, gdm, etc.
    

    Або просто вийти з системи.

  3. У списку сеансів слід вибрати "Google Chrome" (поруч із звичайними установками Unity або іншими DE).

    Увійдіть і насолоджуйтесь.

необов'язково

  • XDM - це дуже мінімальний менеджер дисплеїв - LightDM, GDM і KDM досить "великі". Встановіть це, використовуючи пакет xdmВстановіть xdm і переконфігуруйте за замовчуванням, коли ваша система завантажується

    sudo dpkg-reconfigure lightdm
    
  • Налаштуйте менеджер дисплеїв для автоматичного входу в систему певного користувача. Див. Документацію для вашого менеджера дисплеїв.


1
Якщо вам потрібно принести весь робочий стіл, чи просто видаляєте .desktop файл і перезапускаєте?
enthusiasticgeek

1
@enthusiasticgeek Не потрібно. У менеджері входу просто виберіть повний робочий стіл для входу, як пояснено на кроці 3.
gertvdijk

Хтось знає гаряче для переключення мови введення системи в режимі одного додатка?
fnc12

Хтось стикається з проблемою, коли вказівник миші відсутній в режимі одного додатка?
fnc12

Я почав google-chrome --кіоск, але він не займає повний екран .. будь-який спосіб зробити його максимальним ..?
тумбуду

24

Я знаю, що ця застаріла, але я не міг побачити правильну відповідь на запит, як я його розумію, тому ось так:

У мене був проект по створенню вбудованої системи, що працює на певному графічному додатку Java на простому комп’ютері з процесором Atom і сенсорним екраном. Моє рішення полягало в тому, щоб уникнути використання віконних менеджерів як таких, щоб це було а) простим, б) світлим і в) уникати всяких системних повідомлень, що лопаються на екран.

Система виглядає приблизно так:

  1. Встановлення базової системи Ubuntu, найлегший варіант 12.04 (все ще близький до 1 Гб, але добре для мене навіть на флеш-диску 2 ГБ). Ви можете його трохи мучити, щоб зробити меншу установку, звичайно, для цього є кілька способів. Крім того, вам не доведеться використовувати Ubuntu, але тоді слід переглянути мої інструкції нижче - існують відмінності між дистрибутивами, особливо щодо файлів конфігурації та їх розташування.

  2. Встановлення xorg та інших приємних фрагментів корисного програмного забезпечення, як-от xinput-калибратор для мого резистивного сенсорного екрану, ifplugd для виявлення живого з'єднання Ethernet, acpid для виявлення роботи кнопки живлення тощо.

  3. Відкрийте /etc/init/tty1.conf і змініть exec /sbin/getty -8 -i 38400 tty1рядок на щось подібне exec /sbin/getty -8 -i 38400 tty1 -a username, де "ім'я користувача" - це ім'я користувача, якого ви хочете авторизуватися.

  4. Щоб автоматично запустити сеанс X, відкрийте .bashrc файл свого користувача ~/.bashrcта додайте щось подібне до кінця файлу:

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

    (Інформація -нокурсора призначена для сенсорних екранів, видаліть її для звичайного екрана, щоб побачити вказівник миші) Це відновить X-сервер, тому, якщо ваша програма закриється з будь-якої причини, вона перезапустить X-сервер автоматично.

  5. Тепер у вашому користувальницькому файлі .xsession ~/.xsessionнапишіть щось подібне (пам’ятайте, що кожна команда тут виконується послідовно, тому використовуйте символ & у кінці рядка, якщо ви хочете запустити сервер):

    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

Для такої системи є багато іншого, що слід врахувати, це лише основна установка. Сподіваюся, це комусь допоможе. Удачі.


1

За старих часів ви могли просто бігти X, і X вистрілив із порожнім екраном. Тоді ви могли там встановити DISPLAY=:0і запустити щось. Можливо, це все-таки працює? З оболонки ви захочете X&її фоном.

Погляньте на -geometryстандартний параметр командного рядка X, щоб змінити розміщення вікна, оскільки у вас не буде менеджера вікон, який би вам допоміг.

Щоб запустити щось як некореневе, вам потрібно буде переглянути, xauthщоб налаштувати авторизацію X для не-root користувача.


-3

Перш за все, я не розумію, як ви повинні відкривати веб-браузер, не завантажуючи Desktop Environment. Це як би хотіти приготувати страву, не включаючи духовку. . Гаразд, що можливо з X Server, помилився питання.

Що ви шукаєте, це вибрати, які програми / програми запускатимуться під час завантаження.

  • В Ubuntu / Unity:

    Клацніть значок шестірні у верхньому правому куті верхньої панелі. Виберіть програми запуску .

    Після відкриття вам буде показаний список програм, які ваша система запускається під час завантаження операційної системи.

    Натисніть Додати вгорі праворуч.

    Вам буде показано діалогове вікно.

    У діалоговому вікні, що виходить:

    1) Введіть назву програми в поле "ім'я" .

    2) Введіть команду для запуску програми в полі «команда» .

    3) Введіть будь-які коментарі, які вам потрібні, у поле "коментарі" .

    Наприклад:

    Клацніть Зберегти та закрити .

  • У оболонці Gnome:

    Натисніть, Alt+F2щоб відкрити діалогове вікно Запуск.

    Тип gnome-session-properties.

    Натисніть кнопку «Додати» .

    У діалоговому вікні, що виходить:

    1) Введіть назву програми в поле "ім'я" .

    2) Введіть команду для запуску програми в полі «команда» .

    3) Введіть будь-які коментарі, які вам потрібні, у поле "коментарі" .

    Клацніть Зберегти та закрити .

  • У KDE:

    Перейдіть до K-Меню> Комп'ютер> Налаштування системи.

    Виберіть Запуск і Вимкнення та натисніть кнопку Додати програму .

    Введіть команду для запуску програми та натисніть кнопку ОК .

  • У LXDE:

    Виконайте наступні команди в терміналі:

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

    Додайте цей рядок до файлу автозапуску:

    @program_command
    

    Клацніть Зберегти та закрити .

  • В LXDE / Lubuntu:

    Файл автозапуску вже існує, в ~./config/lxsession/Lubuntu/autostart.

    Просто використовуйте цей файл замість того, щоб створювати новий, описаним вище.

  • У XFCE:

    У меню «Програми» відкрийте « Менеджер налаштувань» та виберіть « Сесія та запуск» .

    На вкладці Автозапуск програми натисніть кнопку Додати .

    1) Введіть назву програми в поле "ім'я" .

    2) Введіть команду для запуску програми в полі «команда» .

    3) Введіть будь-які коментарі, які вам потрібні, у поле "коментарі" .

    Клацніть Зберегти та закрити .

  • Оскільки ви хочете запустити лише веб-браузер (я думаю, Firefox), ви можете видалити такий список програм зі свого списку програм запуску:

    -Bluetooth-менеджер -Deja Dup -Gnome Do -Gnome Увійти Звук-Робочі області індикатора -Ubuntu One -Visual Assistance -Remote Desktop -Pulseaudio

    але залежно від вас.


    12
    Я думаю, що питання полягає у запуску програм на завантаженні без середовища робочого столу . Ваша відповідь стосується запуску програм після запуску DE.
    gertvdijk
    Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
    Licensed under cc by-sa 3.0 with attribution required.