- Исследуем Ubuntu: меняем оболочки
- 3 способа изменить оболочку пользователя по умолчанию в Linux
- 1. Утилита usermod
- 2. Утилита chsh
- 3. Измените оболочку пользователя в файле /etc/passwd.
- Как сменить оболочку (shell) в Linux
- Как узнать оболочку какая оболочка по умолчанию?
- Как узнать, какая оболочку используется сейчас?
- Как просмотреть все оболочки, доступные в системе?
- Как сменить оболочку?
- Как навсегда изменить оболочку по умолчанию в Linux?
Исследуем Ubuntu: меняем оболочки
Ядро Линукса, даже снабжённое X-сервером, позволяет работать только очень суровым линуксоидам – доступны лишь базовые графические приложения из директория /etc/X11/app-defaults, экранные координаты которых задаются, как параметры вызова. Поэтому для юзабельности в систему добавляют рабочую оболочку, содержащую менеджеры пользовательского интерфейса: файловый менеджер (проводник), плюс дисплейный и оконный менеджеры (ДМ и ОМ). В deb-based-семействе Линуксов их много.
В одной экранной сессии может работать только один ДМ и один ОМ. ДМ – это служба, а ОМ – системное приложение. ДМ стартует раньше ОМ. Работа ДМ начинается с запуска X-cервера, залогинивания пользователя, выбора и загрузки ОМ и продолжается до выхода пользователя из системы. Всё это время ДМ, как рут, запускает важнейшие системные приложения – монтаж носителей, обслуживание сети и т.д.. Останов ДМ останавливает и X-сервер. ДМ также предопределяет основные элементы рабочего стола: обои, иконки, панели, меню.
От ОМ, в свою очередь, зависит, как управляются и выглядят окна: рамки, кнопки, расположение, выпадающие меню. ОМ может пользоваться элементами стола, которые предопределил ДМ, а может и игнорировать их, заменяя собственными. Некоторые даже считают, что ДМ вообще не нужен. Может случиться и так, что своих элементов стола выбранный ОМ не имеет, а те, которые ему подсовывает ДМ, неприемлемы, и тогда эти элементы на экране не отображаются. Открою «страшный секрет»: KDE, GNOME2, GNOME3, Unity, Cinnamon, XFCE, LXDE и проч., которые у всех на слуху, – это всего лишь ОМ.
Всё было бы просто, как в Windows, если бы пользователь был жёстко привязан к какому-то определённому ДМ. Но он вовсе не привязан, и, мало того — пользователь не только волен установить несколько ДМ, но может и совсем отключить ДМ. Это же Линукс!
Наиболее известные из ДМ в порядке уменьшения тяжеловесности: KDM, GDM, Lightdm и Slim. Менее известные и устаревшие – WDM и XDM. Есть несколько способов узнать, какие ДМ в вашей системе установлены и какой из них работает. Самый простой способ – посмотреть содержимое директория стартов командой
на предмет наличия в нём имён ДМ. Но лучше всего установить команду rcconf и запустить её. Вы увидите примерно такую картинку:
Стрелками вверх-вниз исследуйте, какие ДМ установлены, и обратите внимание, какой из ДМ помечен звёздочкой. Он и запущен. Скорее всего в вашей системе всего один ДМ. Добавим ещё. Не бойтесь, систему не сломаете. Во всяком случае, мне ни разу не удалось. В виртуальном терминале, который включается нажатием Alt+Ctrl+F2, из официальных репозиториев можно установить любой из упомянутых ДМ с помощью команды:
sudo apt-get install имя_ДМ
Здесь имя_ДМ – это имя одного из ДМ: kdm, slim и т.д. Перед тем, как прописать устанавливаемый ДМ на постоянное место жительства, система выводит список ранее установленных ДМ + устанавливаемый и интересуется, какой из них вы пожелаете использовать по умолчанию после перезагрузки.
Указывайте тот ДМ, который c помощью команды rcconf был выше определён, как работающий. Для экспериментов рекомендую установить kdm, gdm, lightdm и slim. Чтобы поменять ДМ, который будет запущен после перезагрузки, нужна команда
sudo dpkg-reconfigure имя_ДМ
Назначать «умолчательный» ДМ следует из соображений совместимости с ОМ:
kdm, если первоначальный ОМ – KDE,
gdm, если первоначальный ОМ – GNOME2, GNOME3,
lightdm, если первоначальный OM – KDE, GNOME3, Unity, Cinnamon, XFCE4, LXDE, awesome,
slim, если первоначальный ОМ – XFCE4, openbox, blackbox, awesome.
Сложно? Тогда ограничьтесь lightdm, он мало весит и хорошо дружит с большинством популярных ОМ. С ним проще экспериментировать. В сборках ОС _buntu старше, чем 11.10, lightdm’а нет, его-то и придётся добавить.
Для экспериментов добавьте также нового пользователя с административными правами, пароль удобнее ему дать свой. Отключите пока автоматический вход в систему. Если не умеете этого делать – обратитесь к руководству по Ubuntu, если лень читать руководство, то не читайте дальше эту статью.
Экспериментировать нужно, будучи новым пользователем.
Добавим ещё оконных менеджеров
Это совсем просто, если у вас ОС _buntu свежее, чем 10.10. Как добавить GNOME в _buntu 11.10 я уже писал, см. http://new.kv.by/content/yunitiskeptikam-posvyashchaetsya. Чтобы «утяжелить» систему, установите ДМ KDM, как было описано выше (впрочем, если ДМ=lightdm, то это не обязательно), и установите ОМ KDE командой
sudo apt-get install kubuntu-desktop
Чтобы иметь возможность «облегчать» систему, отправляйтесь в Центр приложений, наберите в поиске XFCE или LXDE и установите. Тут есть один нюанс: установите ли вы сессию XFCE, или установите рабочий стол XFCE. Если вы установите сессию XFCE, то сохранится автозапуск ранее установленных приложений и будет использоваться прежний файловый менеджер. Если им был «Наутилус», то он потянет за собой и свою тему, что ограничит вам обустройство рабочего стола. Но можно установить и полноценный рабочий стол XFCE командой
sudo apt-get install хubuntu-desktop
Любопытно, что установка LXDE также имеет эти нюансы.
В сухом остатке имеем возможность выбирать, с чем работать: «кедами», «гномом», «юнити», XFCE или LXDE. Чтобы переключиться во время работы, достаточно выйти из пользовательской сессии и перелогиниться, см. рисунок.
Смена ОМ занимает времени в разы меньше, чем перезагрузка.
Если KDE съедает 20-30% ресурса процессора, то LXDE – единицы процента. Использование ОЗУ тоже значительно отличается. Это можно проверить утилитой htop. Если её у вас нет – установите, узнаете много интересного. Выберите, какой из ОМ вам больше подходит по задачам и возможностям компьютера. Лично я на среднем по быстродействию рабочем двухядернике со встроенным видео остановился на XFCE и настроил под себя «почти как Unity». На домашнем компьютере вместо Unity у меня появился роскошный KDE, «закошенный» под Unity. Первоначально установленное «Единство», т.е. Unity, никуда не исчезло ни на одном из компьютеров.
3 способа изменить оболочку пользователя по умолчанию в Linux
В этой статье мы расскажем, как изменить оболочку пользователя в Linux. Оболочка — это программа, которая принимает и интерпретирует команды; есть несколько оболочек, таких как bash, sh, ksh, zsh, fish и многие другие менее известные оболочки, доступные в Linux.
Bash (/bin/bash) — это популярная оболочка в большинстве, если не во всех системах Linux, и обычно она используется по умолчанию для учетных записей пользователей.
Существует несколько причин для изменения пользовательской оболочки в Linux, включая следующие:
- Чтобы заблокировать или отключить обычный вход пользователей в Linux с помощью оболочки nologin.
- Используйте сценарий или программу-оболочку оболочки для входа в пользовательские команды перед их отправкой в оболочку для выполнения. Здесь вы указываете оболочку оболочки в качестве оболочки входа пользователя.
- Для удовлетворения требований пользователя (желающего использовать определенную оболочку), особенно с правами администратора.
При создании учетных записей пользователей с помощью утилит useradd или adduser можно использовать флаг —shell для указания имени оболочки входа пользователя, отличного от указанного в соответствующих файлах конфигурации.
Доступ к оболочке входа можно получить из текстового интерфейса или через SSH с удаленного компьютера Linux. Однако, если вы входите в систему через графический интерфейс пользователя (GUI), вы можете получить доступ к оболочке из эмуляторов терминала, таких как xterm, konsole и многих других.
Давайте сначала перечислим все доступные оболочки в вашей системе Linux, введите.
# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/tcsh /bin/csh /bin/dash
Прежде чем продолжить, обратите внимание, что:
- Пользователь может изменить свою оболочку на любую вещь, которая, однако, должна быть указана в файле /etc/shells.
- Только root может запускать оболочку, не указанную в файле /etc/shells.
- Если учетная запись имеет ограниченную оболочку входа, только root может изменить оболочку этого пользователя.
Теперь давайте обсудим три разных способа изменить пользовательскую оболочку Linux.
1. Утилита usermod
usermod — это утилита для изменения данных учетной записи пользователя, хранящихся в файле /etc/passwd, а параметр -s или —shell используется для изменения оболочки входа пользователя.
В этом примере мы сначала проверим информацию об учетной записи пользователя tecmint, чтобы просмотреть его оболочку входа по умолчанию, а затем изменим ее оболочку входа с /bin/sh на /bin/bash как следует.
# grep tecmint /etc/passwd # usermod --shell /bin/bash tecmint # grep tecmint /etc/passwd
2. Утилита chsh
chsh — это утилита командной строки для изменения оболочки входа в систему с помощью параметра -s или -shell, подобного этому.
# grep tecmint /etc/passwd # chsh --shell /bin/sh tecmint # grep tecmint /etc/passwd
Два приведенных выше метода изменяют оболочку, указанную в файле /etc/passwd, который вы можете редактировать вручную, как в третьем методе ниже.
3. Измените оболочку пользователя в файле /etc/passwd.
В этом методе просто откройте файл /etc/passwd с помощью любого из ваших любимых текстовых редакторов командной строки и измените оболочку конкретного пользователя.
Когда закончите редактирование, сохраните и закройте файл.
Не забудьте прочитать эти связанные темы:
- Знакомство с файлами инициализации оболочки и профилями пользователей в Linux
- Понимание Linux Shell и советов по написанию сценариев Basic Shell — часть I
- Как писать и использовать собственные функции и библиотеки оболочки
- Знакомство с различными классификациями команд оболочки и их использованием
В этой статье мы описали различные способы смены оболочки пользователя в Linux. Чтобы поделиться с нами своими мыслями, используйте раздел комментариев ниже.
Как сменить оболочку (shell) в Linux
Возможно, вы уже знаете, что в Linux и других Unix-подобных системах доступно несколько оболочек. Bash является оболочкой по умолчанию почти во всех дистрибутивах Linux, но есть и другие популярные оболочки, такие как:
Некоторые из оболочек предоставляют дополнительные функции для удобства пользователе. Возьмем, к примеру, оболочку Fish. Онf частично начинает показывать вам подсказки команд, основанные на вашей предыдущей набранной команде. Это очень удобно, если вы не хотите постоянно помнить ярлыки на терминале Linux.
Давайте посмотрим некоторые моменты оболочки системы Linux.
Как узнать оболочку какая оболочка по умолчанию?
Чтобы узнать, какая оболочка по умолчанию установлена в конкретной системе, проверим переменную среды SHELL. Обычно оболочкой по умолчанию является bash, и она отображается так:
Как узнать, какая оболочку используется сейчас?
Не существует единого метода, который бы сообщал вам, какая оболочка используется в данный момент со 100%-ой точностью. Но можно попробовать либо echo $0, который показывает вывод, подобный этому:
либо проверить процесс, используя ps -p $$ следующим образом:
$ ps -p $$ PID TTY TIME CMD 9625 pts/0 00:00:00 zsh
Как просмотреть все оболочки, доступные в системе?
Все оболочки, доступные в конкретной системе, перечислены в файле /etc/shells. Можно использовать команды cat или less для просмотра содержимого файла.
# /etc/shells: valid login shells /bin/sh /bin/bash /bin/rbash /bin/dash /usr/bin/tmux /usr/bin/fish /bin/zsh /usr/bin/zsh
Как сменить оболочку?
Если вы хотите использовать другую оболочку, вы можете просто ввести ее имя и войти в новую оболочку. Например, если вы хотите использовать Z Shell (zsh), вы можете использовать:
Чтобы выйти из новой оболочки и вернуться к предыдущей достаточно выполнить команду exit .
Как навсегда изменить оболочку по умолчанию в Linux?
Предположим, нам очень понравилась оболочка Fish, и мы хотим использовать ее в качестве оболочки по умолчанию, вместо оболочки bash которая поставляется по умолчанию.
Linux позволяет изменить оболочку по умолчанию с помощью команды chsh . Лучший способ изменить оболочку по умолчанию для вошедшего в систему пользователя — сменить имя оболочки, указанное в файле /etc/shells, с помощью опции -s.
Для того, чтобы изменения вступили в силу необходимо выйти из системы, иначе создастся ощущение, что запуск chsh не изменил оболочку.
Необходимо указывать полный путь к файлу /etc/shells? Если использовать chsh -s fish , то получим ошибку типа chsh: fish не является допустимой оболочкой .
Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:
CC Attribution-Noncommercial-Share Alike 4.0 International