Linux запустить gui из консоли

How to start GUI linux programs from the command line, but separate from the command line?

I’ve searched for this before, but have never been able to find an answer. In Windows, if I have a console window open, type winmine , and press enter, Minesweeper will appear, completely separate from the cmd program. The Minesweeper instance is not tied to the command prompt in any way that I know of, with the exception of Minesweeper’s parent being set to that instance of the command prompt. It’s different in Linux, however. In Linux, if I have a console window open, type emacs and press enter, Emacs will open, but it seems tied to the command line. Specifically, it appears that I can’t use the command line anymore until that instance of Emacs is closed. Is there a way to replicate the Windows behavior in Linux? Thanks!

in windows7 it’s minesweeper.exe here C:\Program Files\Microsoft Games\Minesweeper so minesweeper.exe won’t generally work.. as that directory is not in the path.. And anyhow, you should state windows version

16 Answers 16

In bash , detach is a built-in, used as follows:

emacs & detach %+ # or % + the number in brackets printed after the above 

In zsh , you can background and detach in a single operation:

Append & to the commandline:

This will put emacs in the background and enable you to continue using your terminal.

Note that this will still leave emacs as a sub-process of your terminal, and when you exit the terminal it will also exit emacs. To avoid this, type:

The parentheses tell the terminal to detach the emacs process from the terminal.

Still, stdout and stderr messages from the program will show up on the terminal. To prevent this, use:

if you have already started the task (emancs), then use CTRL-Z to put to sleep and then use command «bg» to send to background.

Use nohup . Like this: nohup amarok &

I posted an answer to an older thread of similar topic with answers from various sources. Following is a copy of that answer adapted for this thread.

This is Nathan Fellman’s answer plus redirection.

«&> /dev/null» redirects both stdout and stderr to the null device. The last ampersand makes the process run in the background. The parentheses around the command will cause your «gui_app» to run in a subshell.

Doing this will detach the «gui_app» process from the console you execute this command from. So even if you close the window parent terminal emulator is running in, «gui_app» won’t close. I ran this then looked at the process tree with «pstree» command and found an application started this way will become child process to «init».

Читайте также:  Linux kyocera fs c8525mfp

will run the application in the background, but it will become a child process of the console process and will terminate when you close the terminal. (Though exiting the terminal through bash by using the exit command or Ctrl-D will let bash clean up by handing off the background process to init.)

«nohup» works as NawaMan has suggested, but that redirects output & error to a file by default. As JeffG has answered, «disown» command (if available in shell) can detach process from terminal after you’ve started a background process:

(BTW all of this applies to bash. I’m sure other shells have other methods/syntax for doing this.)

If it’s a simple call to a GUI application — without complicated options and such — it seems using a launcher like «gmrun» or dmenu (warning: loud audio) is also a good option. Bind it to a key combination. I don’t use a launcher yet but have tried those two.

NOTE: CarlF in the comments of the other thread reports GUI apps started via «gui_app &» method does not close when he exits from the parent terminal. I think that we were closing the terminal in different ways. I was closing the window the terminal emulator was running in. I think he may have been exiting the terminal emulator through the shell (exit command or Ctrl-D). I tested this and saw that exiting through bash does not stop GUI started as terminal’s background process as CarlF says. It seems bash hands off background processes to init when it is given the chance to clean up. In fact, this must be the mechanism by which the background process started in a subshell gets handed off to init.

Источник

Как запустить графическую оболочку Ubuntu

Если вы запустили систему в текстовом режиме или вовсе это сервер и на нём надо работать только через терминал, но на нём уже есть установлено графическое окружение, есть несколько способов его запустить.

В этой статье мы постараемся разобраться как запустить графическую оболочку Ubuntu из терминала несколькими способами.

Запуск графической оболочки Ubuntu

Сначала можно посмотреть текущий уровень запуска в systemd. Для этого выполните:

systemctl list-units —type target | egrep «eme|res|gra|mul» | head -1

Если уровень запуска не graphical.target вы можете это исправить выполнив команду:

sudo systemd isolate graphical.target

После этого уровень запуска будет изменён на графический и графическая оболочка запуститься автоматически. Если вам нужно запустить менеджер входа вручную выполните такую команду:

sudo systemctl start display-manager

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

С более простыми графическими оболочками, вроде Openbox, Fluxbox, i3wm и даже XFCE может сработать ещё один метод, очень популярный ранее. Это команда startx. Однако чтобы она сработала в файле ~/.xinitrc надо прописать оболочку, которую вы хотите запустить. Например:

Читайте также:  Настройка l2tp сервер linux

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x «$f» ] && . «$f»
done
unset f
fi
feh —bg-fill ~/Загрузки/52453-sklon_holm_cerkvushka_sneg.jpg &
lxpanel &
exec openbox-session

Блок if загружает все конфигурационные файлы из каталога /etc/X11/xinit*, сторчка, начинающаяся с feh добавляет фон рабочего стола, следующая — нижнюю панель, а последняя запускает сам openbox. Теперь запуск графической оболочки Ubuntu из консоли выполняется командой:

Или если, на первом экране уже что-то запущено, можно использовать любой другой доступный, например, второй:

Обратите внимание, что оболочку можно запустить только из консоли TTY, из терминала в графическом окружении это не сработает. Как видите, всё просто. Ваша оболочка запуститься в том же терминале, в котором вы выполнили startx.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Как в Linux запустить приложение с GUI из консоли?

Как в Linux запустить приложение с графическим интерфейсом минуя запуск графической оболочки? т.е. чтобы работало только это приложение, без оконного режима, а сразу на полный экран.
Возможно ли так сделать с любым приложением, либо оно должно быть специально написанным под эти цели?

Оценить 1 комментарий

Дополнение:
Имеется Raspberry Pi, на дисплее при запуске появляется терминал. Планируется запуск приложения, которое в полноэкранном режиме выводит на дисплей некую графическую информацию, и чтобы не потреблять лишние ресурсы хотелось бы чтобы запуск происходил без использования графической оболочки. т.е. как к примеру на цифровом осциллографе, где сразу запускается экран измерений.

daapp

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

Вообще это называется «режим киоска».

Вот, «Режим киоска» — это ключевое слово, по которому дальше остается только погуглить. Спасибо! Еще небольшой вопрос к Вам, ответ на который я пока не смог найти: Любое приложение ли можно запустить в режиме киоска? К примеру я создам на питоне простенькое приложение с графическим интерфейсом, смогу ли я его так запустить?

daapp

Я как-то не могу придумать пример приложения, которое нельзя запустить в режиме киоска.

Забыл отметить, что приложения для киоска надо писать достаточно аккуратно, чтобы оно не вызывало какие угодно системные приложения, вроде xterm или другие, дающие доступ к командной строке, иначе такой киоск быстро взломают.

Я обычно пишу приложение на Tcl/Tk, в качестве оконного менеджера использую xmonad со своей конфигурацией. В приложение обязательно добавляю функцию «Выход» (приложение управляет аппаратурой, которая может сбойнуть, так что надо иметь возможность перезапустить приложение для чистоты проверки сбоя). Оконный менеджер перезапускает приложение, в случае, если оно вышло и умеет по комбинации кнопок запускать «sudo poweroff». Если нет клавиатуры, то функцию выключения питания добавляю в меню программы рядом с функцей «Выход».

Читайте также:  Linux перезапуск звуковой системы

Рекомендую также запускать вместе с программой какую-нибудь панельку (например, xmobar), на которой отображать время, статус сети и загрузку процессора — это позволяет определить, в случае необходимости, что зависла программа и почему (например, нагрузка на процессор).

Источник

How to start GNOME desktop from command line in Debian

gnome desktop application drawer

G NOME, an acronym for the GNU Network Object Model Environment, is a graphical user interface and set of computer desktop apps for Linux OS users. It is aimed at making Linux OS an easy-to-use OS for non-programmers. With GNOME, you can set the interface to look like Windows or macOS. GNOME is a free and non-proprietary desktop environment for all the major Linux distros, including Fedora Linux, Debian, Ubuntu, Enterprise Linux, Red Hat, SUSE, and others.

On the other hand, a command-line alias cmd, CLI, prompt, console, or terminal refers to a text-based user interface (UI) utilized in viewing, manipulating, handling, running programs, and managing comp files as interacting with the computer. It is much like Windows Explorer or Finder on the macOS but without the graphical interface.

GNOME has emerged as the most efficient, reliable, and stable of all the available desktop environments for Linux while retaining its user-friendliness features. GNOME began as a free and open desktop alternative to proprietary options like KDE at the time, and it has been going strong ever since.

In this article, we will guide you through the required steps to start a GNOME desktop from the command line on Debian, specifically version 11 “Bullseye.” So, let us get underway.

Starting the GNOME desktop environment from the command line

Ensure you have a GNOME desktop environment setup on your machine before starting it up. In case you don’t have the desktop environment installed on your machine, then you can use the following command to set it up on your device:

install gnome desktop environment

install gnome desktop environment

Now that the environment is set up, to start it, you need to use the Gnome Display Manager(gdm) that aids execute the command. Compared with the general default X window xdm, gdm can directly adjust the settings of the desktop environment from the graphical introduction, and xdm has to edit several xdm settings

To start the Gnome desktop environment or rather close it, you can utilize the following command, and by the way, this is tested in the Gnome 3 environment:

Start command:

start gnome environment

Stop command:

To put the desktop environment to a stop/halt, run the following command:

stop gnome environment

Restart command:

To reboot the desktop environment, run the following command:

sudo /etc/init.d/gdm3 restart

restart gnome environment

restart gnome environment

Final thoughts

And that’s how you start, stop, and restart the GNOME desktop environment using the command line on Debian. We hope this article came in handy. Keep following FossLinux for more guides.

Источник

Оцените статью
Adblock
detector