Запустите Ubuntu без среды рабочего стола, но запустите приложение X

Я хочу сделать небольшой компьютер только для просмотра интернета. Я не хочу загружать рабочую среду, чтобы поддерживать использование ОЗУ, ЦП и ГП на минимально возможном уровне. Компьютер будет работать на процессоре ARM. Меня не волнует, какой дистрибутив я использую, я думал о старом добром простом Debian.

4 ответа

Решение
  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
    
  • Настройте диспетчер отображения для автоматического входа в систему определенного пользователя. Смотрите документацию для вашего диспетчера отображения.

Я знаю, что это устарело, но я не вижу правильного ответа на запрос, насколько я понимаю, так что вот оно:

У меня был проект по созданию встроенной системы, работающей под конкретным графическим 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где "username" - это имя пользователя, которому вы хотите выполнить автоматический вход.

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

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

    (Параметр -nocursor предназначен для сенсорных экранов, удалите его для обычного экрана, чтобы увидеть указатель мыши). Это повторно вызовет 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
    

Есть много других вещей, которые следует учитывать для такой системы, это только базовая настройка. Надеюсь, это кому-нибудь поможет. Удачи.

В старые времена вы могли просто бежать Xи X запускается с пустым экраном. Тогда вы могли бы установить DISPLAY=:0 и запустить что-то там. Возможно, это все еще работает? Из скорлупы ты захочешь X& чтобы фон это.

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

Чтобы запустить что-то без полномочий root, вам нужно xauth настроить X-авторизацию для пользователя без полномочий root.

(Моя репутация слишком низкая, чтобы комментировать. -> Я использовал решение, опубликованное @gertvdijk, и столкнулся с той же проблемой, что и @tumbudu)

Если у вас нет доступа к google chrome (Alpine Linux), пакет firefox позволяет вам передать разрешение экрана, которое должно открываться приложением, в качестве параметров:

firefox -height 1920 -width 1080

Прежде всего, я не понимаю, как вы должны открывать веб-браузер без загрузки рабочего стола. Это все равно что готовить еду без включения духовки., Хорошо, это возможно с X Server, неправильно понял вопрос.

То, что вы ищете, это выбрать, какие приложения будут запускаться во время процесса загрузки.

  • В Ubuntu/Unity:

    Нажмите на значок шестеренки в правом верхнем углу верхней панели. Выберите Startup Applications.

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

    Нажмите Добавить в правом верхнем углу.

    Вам будет показан диалог.

    В появившемся диалоговом окне:

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

    2) Введите команду для запуска программы в поле "команда".

    3) Введите любые комментарии, которые вы хотели бы в поле "комментарии".

    Например:

    Нажмите сохранить и закрыть.

  • В оболочке гнома:

    Нажмите Alt+F2, чтобы вызвать диалог Run.

    Тип gnome-session-properties,

    Нажмите кнопку "Добавить".

    В появившемся диалоговом окне:

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

    2) Введите команду для запуска программы в поле "команда".

    3) Введите любые комментарии, которые вы хотели бы в поле "комментарии".

    Нажмите сохранить и закрыть.

  • В KDE:

    Перейдите в K-Menu> Компьютер> Системные настройки.

    Выберите " Запуск и завершение работы" и нажмите кнопку " Добавить программу".

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

  • В LXDE:

    Выполните следующие команды в терминале:

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

    Добавьте эту строку в файл автозапуска:

    @program_command
    

    Нажмите сохранить и закрыть.

  • IN LXDE / Lubuntu:

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

    Просто используйте этот файл вместо создания нового, как описано выше.

  • В XFCE:

    В меню "Приложения" откройте " Диспетчер настроек" и выберите " Сессия и запуск".

    На вкладке Автозапуск приложения нажмите кнопку Добавить.

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

    2) Введите команду для запуска программы в поле "команда".

    3) Введите любые комментарии, которые вы хотели бы в поле "комментарии".

    Нажмите сохранить и закрыть.

  • Поскольку вы хотите запускать только веб-браузер (я полагаю, Firefox), вы можете удалить следующий список программ из списка запускаемых приложений:

    -Bluetooth-менеджер -Deja Dup -Gnome Do -Gnome Логин Звук -Индикатор рабочих мест -Ubuntu One -Визуальная помощь -Удаленный рабочий стол -Pulseaudio

    но это определенно зависит от вас.

    Другие вопросы по тегам