- Как узнать, какую оболочку вы используете в Linux
- Узнайте, какую оболочку вы используете в Linux
- Способ 1
- Способ 2
- Способ 3
- Способ 4
- Бонусный совет: узнайте версию оболочки
- Как определить и изменить командную оболочку (shell) в Linux
- Оболочки Linux
- Как определить текущую командую оболочку
- Способ 1
- Способ 2
- Способ 3
- Как посмотреть список оболочек, доступных в системе
- Как временно переключиться на другую оболочку
- Как изменить оболочку
- Заключение
- How can I find which desktop enviroment I am using? [duplicate]
- 6 Answers 6
- Results
- Conclusion
Как узнать, какую оболочку вы используете в Linux
К акую оболочку я использую в Linux? Для систем Linux доступно несколько оболочек. Некоторые из самых популярных из них:
Вы можете удивиться этому в нескольких ситуациях.
Например, если вы входите в неизвестную вам систему Linux, вы можете спросить, какая оболочка используется по умолчанию. Если вы часто меняете оболочку в Linux, вы можете спросить, какую оболочку вы используете в данный момент.
Узнайте, какую оболочку вы используете в Linux
Теперь нет команды, которая даст вам этот вывод со 100% точностью для всех оболочек. Но эти команды должны быть точными для большинства оболочек.
Способ 1
Вы можете использовать специальный параметр оболочки $$. «$$» указывает идентификатор процесса текущего экземпляра оболочки, которую вы запускаете. Этот параметр доступен только для чтения и не может быть изменен.
Если вы попытаетесь просмотреть информацию о процессе, она должна показать вам имя процесса, т.е. оболочку здесь.
PID TTY TIME CMD 15012 pts/0 00:00:00 zsh
Способ 2
Вы также можете использовать $0. $0 может быть именем оболочки или именем сценария оболочки. Когда он используется внутри сценария оболочки, он обозначает имя сценария.
Но если вы используете его в оболочке без имени файла, он покажет имя оболочки.
Вывод будет просто иметь имя оболочки:
Способ 3
Вы также можете использовать команду pstree. pstree означает дерево процессов и показывает все запущенные процессы в виде дерева.
Если вы не укажете аргумент, он покажет все процессы из init или systemd.
Однако, если вы дадите ему идентификатор процесса, он покажет весь этот процесс как корень дерева. Другими словами, он покажет все процессы, инициированные этим процессом.
Вы можете использовать тот же параметр $$ bash, который мы видели в методе 1.
Способ 4
Последний метод использует файлы в каталоге proc. Если вы прочитали статью о проверке информации о процессоре в Linux, вы, вероятно, уже знаете, что этот каталог содержит информацию о системе времени выполнения вашей системы Linux.
Вы можете использовать следующую команду, чтобы получить оболочку, которую вы используете:
Вывод должен дать вам имя оболочки.
Бонусный совет: узнайте версию оболочки
Итак, вы узнали, как узнать, какую оболочку вы используете. Как насчет версии используемой оболочки? Вы можете получить версию оболочки, просто добавив –version после имени вашей запущенной оболочки.
Например, если вы используете zsh, вы можете использовать это:
Вывод даст вам информацию о версии:
zsh 5.4.2 (x86_64-ubuntu-linux-gnu)
Кстати, вы используете другой способ проверить, какую оболочку вы используете? Почему бы не поделиться им с нами в разделе комментариев?
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Как определить и изменить командную оболочку (shell) в Linux
Командная оболочка или командный интерпретатор в Linux — это программа, которая в текстовой среде выступает в качестве интерфейса между пользователем и операционной системой. Она интерпретирует вводимые команды с терминала и вызывает необходимые программы.
Когда вы работаете в терминале, именно командная оболочка обрабатывает вводимые вами команды. Более того, оболочки Linux поддерживают написание программ на языке оболочки.
Оболочки Linux
Одна из самых популярных командных оболочек — это оболочка Bash (Bourne Again Shell). Она используется по умолчанию в большинстве дистрибутивов Linux.
Существуют разные оболочки Linux. Можно отметить:
Оболочки могут очень сильно отличаться друг от друга. Они отличаются функциональностью, синтаксисом команд, строкой приветствия, дружелюбностью к пользователю и другими параметрами и возможностями.
Как определить текущую командую оболочку
Есть несколько способов определить оболочку, используемую по умолчанию в вашей системе Linux. Рассмотрим несколько из них, так как в разных системах (и оболочках) какие-то способы могут не сработать.
Также нужно знать, что у разных пользователей системы могут использоваться разные оболочки.
Способ 1
Переменная окружения SHELL хранит путь до исполняемого файла оболочки. Выполним команду:
Из вывода команды, мы видим, что используется оболочка bash.
Способ 2
Также можно воспользоваться командой echo $0 . Данная команда выведет на экран имя текущего работающего процесса, внутри которого она выполнена. Так как мы выполняем команду внутри оболочки, то будет выведено имя оболочки.
Способ 3
Определим, работающий процесс оболочки командой ps.
ps -p $$ PID TTY TIME CMD 10792 pts/3 00:00:00 bash
Как посмотреть список оболочек, доступных в системе
Список оболочек, которые в данный момент установлены и доступны в системе Linux, хранится в файле /etc/shells
Выведем содержимое файла /etc/shells , для этого выполняем команду:
cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/bash /bin/rbash /bin/dash
Как временно переключиться на другую оболочку
Чтобы временно переключиться на другую оболочку, достаточно выполнить в терминале команду, соответствующую ее имени. После этого вы переключитесь на новую оболочку.
Например, переключимся на оболочку sh. Выполняем команду:
Как изменить оболочку
Для изменения командной оболочки на постоянной основе служит команда chsh (от слов change shell).
Чтобы изменить оболочку текущего пользователя нужно выполнить команду:
В качестве параметра путь_новой_оболочки необходимо указать путь до исполняемого файла оболочки, который вы можете найти в файле /etc/shells (см. выше).
Например, изменим оболочку на sh. Для этого выполняем команду (при выполнении команды нужно будет ввести пароль):
После этого нужно выйти и снова войти в систему.
Чтобы изменить оболочку, используемую по умолчанию, для другого пользователя, то команде chsh необходимо указать имя этого пользователя:
Заключение
Мы рассмотрели, как определить текущую оболочку Linux, как просмотреть список доступных оболочек, а также как изменить оболочку, используемую по умолчанию.
Чтобы получить информацию о какой-либо оболочке (доступной в системе) можно воспользоваться Man-страницами. Например:
Дополнительные оболочки можно устанавливать средствами системы (из репозиториев). Например, для установки оболочки fish в Ubuntu Linux, выполните команду
How can I find which desktop enviroment I am using? [duplicate]
as the title: How can I find which desktop environment I am using? I want to accomplish this using command line.
@Pandya no, the values will be different, but on the duplicate it shows how to grab the value for both (And other examples for WM and DE).
@Lucio, not sure why this question was erroneously marked as a duplicate of a completely different question. Please read this question first and remove the duplicate question marker: askubuntu.com/questions/18078/…
Just because the so called «original» contains an answer with solution to this question, does not mean that this question is a duplicate. The desktop environment and window manager are not the same things. These are different questions. The justification for closing this question is, quite simply, wrong, and the decision must be reversed.
6 Answers 6
And you can try $DESKTOP_SESSION for the DE.
My second problem is about DE (desktop environment), which you answered. I think the answer should be gnome , but it is ubuntu , why?
This command seems to be useful:
- in GNOME returns /usr/bin/gnome-session (and more)
- in MATE returns /usr/bin/mate-session (and more)
- in LXDE returns /usr/bin/lxsession (and more)
- in JWM returns /usr/bin/icewm-session (should be jwm-session, not?!)
I got /usr/bin/ck-launch-session /usr/bin/ck-xinit-session /usr/bin/gnome-session. So what? I’m using CentOS.
In the Raspberry Pi 2, we have a choice of 3 window sessions: lx and openbox. As I commented earlier, echo $DESKTOP_SESSION ==> LXDE-pi (installation value) is a definitive indicator for RPI2.
I’ve tested the best tools I’ve found with:
a — GNOME under Linux Mint installed
b — GNOME under Linux Mint Live USB
c — MATE under Linux Mint
d — LXDE under Lubuntu
e — JWM under Puppy Linux (JWM is not a desktop environment but a stacking window manager).
f — XFCE under Debian Buster
Results
a & b - DESKTOP_SESSION=gnome c - DESKTOP_SESSION=default.desktop d - DESKTOP_SESSION=Lubuntu e - Nothing f - DESKTOP_SESSION=xfce
a & b - gnome c - Nothing d - Lubuntu e - Nothing f - xfce
a & b - OK c - OK d - WRONG e - Nothing & OK f - OK
a - Nothing b - GNOME 2.32.0 c - MATE d - LXDE (Lubuntu) e - Unknown (Window Manager: JWM) f - XFCE
Conclusion
A combination of HardInfo and the command ps -A | egrep -i «gnome|kde|mate|cinnamon|lxde|xfce|jwm» probably will give the desired answer.