Практически любое приложение с графическим интерфейсом пользователя (в системах X Window) можно открыть из окна терминала внутри этого графического интерфейса. Чтобы открыть любое приложение с графическим интерфейсом, введите имя исполняемого файла в приглашении оболочки. Большинство файловых браузеров принимают каталог в качестве аргумента командной строки, поэтому обычно следует передавать .
в качестве параметра.
Вот несколько примеров для некоторых популярных систем, большинство систем на базе X работают аналогично.
В Gnome вы можете запустить nautilus
(файловый браузер по умолчанию) напрямую, или в Gnome 2 вы можете использовать gnome-open
, чтобы открыть любой файл (включая каталоги) с помощью настроенное приложение-обработчик файлов Gnome:
$ nautilus .
или
$ gnome-open .
В KDE есть два популярных файловых браузера, мне неизвестна команда, аналогичная gnome-open
, хотя gnome-open
может быть запущен в KDE, но по умолчанию он открывает приложения Gnome.
$ dolphin .
или
$ konquerer .
В OS X , как упоминалось в комментариях, можно использовать аналогичную программу командной строки open
.
$ open .
Что делать, если вы не знаете исполняемого имени файлового браузера вашей системы?
Если вы используете Gnome 2, используйте gnome-open.
Если в OS X, вызовите open.
. Каждый из них будет запускать настроенный файловый браузер для вашей среды графического интерфейса.
Если вы не знаете о такой команде в своей оконной системе, вот один из способов узнать в системе с помощью команды ps
, которая понимает параметры -u USER
и -o FORMAT
:
ps -u $ USER -o comm> / tmp / $$ A
ps -u $ USER -o comm> / tmp / $$ B
(обратите внимание на суффикс B
, это другой , чем шаг 1). diff / tmp / $$ [AB]
. Должно отображать имя вашего файлового браузера. Возможно, вы могли видеть более одного имени, если бы другая программа запускалась под вашим идентификатором пользователя во время между вызовами ps
.
Например:
$ ps -u $USER -o comm > /tmp/$$A
$ # open file browser in gui
$ ps -u $USER -o comm > /tmp/$$B
$ diff /tmp/$$[AB]
95a96
> nautilus
allow_guest_exec_content
определяет, может ли пользователь в guest_t
запускать файлы в домашних или временных каталогах. В противном случае пользователю по-прежнему разрешено запускать другие исполняемые файлы, если это разрешено политикой.
Эталонная политика SELinux предоставляет интерфейсы для предоставления определенного доступа. Эти интерфейсы перечислены в политике SELinux документации(ваш дистрибутив, вероятно, предоставляет их в selinux-policy-doc
пакете ).
Чтобы разрешить гостевому пользователю использовать ping, вы можете использовать интерфейс netutils_exec_ping
.
Затем создайте модуль для своей пользовательской политики, например мой _гость.те:
policy_module(my_guest, 1.0)
gen_require(`
type guest_t;
role guest_r;
')
netutils_run_ping(guest_t, guest_r)
и скомпилируйте его с:
make -f /usr/share/selinux/devel/Makefile my_guest.pp
В зависимости от того, какой доступ к сети вы хотите разрешить, вы можете найти подходящий интерфейс и использовать его таким же образом для расширения модуля my_guest
.