Как заблокировать определенные приложения от открытия на определенных счетах (например: Остановить учетную запись Джона при открытии Firefox или Gimp). Предполагается, что это для графического интерфейса, а не для терминала, и будет применяться только для определенных пользователей, поэтому, например, пользователь X может открывать Gimp, но не Firefox, пользователь Z может открывать Центр программного обеспечения, но не VirtualBox.
Какой хороший и простой способ сделать это для нового пользователя Ubuntu.
Ответы:
А. Варианты конфигурации
Если блокировка предназначена для блокировки неопытных пользователей от использования определенных приложений, редактирование (локальная копия) файла рабочего стола приложения (как описано в
[1]
), вероятно, является самым быстрым и простым способом.Некоторые дополнительные действия могут быть сделаны, чтобы создать дополнительный барьер и / или предотвратить тот факт, что пользователь слишком легко узнает, что мы сделали, чтобы заблокировать приложение (
[2]
и[3]
).Настройка не подходит для ситуаций, в которых не принимают участия опытные пользователи. В «домашних» ситуациях со средними пользователями этого будет достаточно во многих случаях.
1. Пример блокировки gedit путем редактирования (локальной версии) файла .desktop.
Скопируйте файл на рабочем столе приложения в
/usr/share/applications
к~/.local/share/applications
:Отредактируйте файл: откройте его с помощью gedit (пока вы все еще можете :)), перетащив его в открытое окно gedit.
заменить линию
по:
удалите (возможные) ярлыки, чтобы предотвратить запуск приложения одним из ярлыков:
удалите строку (для примера gedit):
и раздел (ы), как:
С этого момента (после выхода из системы / входа в систему) пользователь увидит это сообщение, если попытается открыть gedit из Dash или попытается открыть файл, связанный с приложением:
Скрытие приложения от Dash (необязательная мера)
После того, как мы внесли изменения, оставив
gedit.desktop
файл открытым, мы можем добавить дополнительную строку:Добавив эту строку,
gedit
даже не будет отображаться в Dash.Отменить
Чтобы отменить, просто удалите локальный
.desktop
файл из~/.local/share/applications
2. Делая это немного сложнее выяснить
Хотя после редактирования
.desktop
файла приложение больше не будет отображаться в Dash, при поиске в Dash все равно будет показан наш новыйgedit.desktop
файл, который может непреднамеренно дать подсказку, как выйти из блока приложения.Чтобы избежать этого, мы должны исключить каталог
~/.local/share/applications
из поиска Dash и очистить историю поиска.Откройте Системные настройки> «Безопасность и конфиденциальность»> «Файлы и приложения» (вкладка). Добавьте каталог
~/.local/share/applications
в список, чтобы исключить из поиска.3. (Не) используя терминал / командную строку
Перенаправление
gedit
команды(1)
Редактирование
.desktop
файла не позволяет использовать приложение из Dash, но если пользователь знает AltF2комбинацию и команду для запуска приложения, он все равно сможет запустить приложение, как и в терминале. Хорошая и простая настройка дополнительных мер - это создать (если он еще не существует) каталог~/bin
и создать небольшой скрипт в каталоге:Сделайте его исполняемым и назовите его после приложения;
gedit
в таком случае.Так как
~/bin
вPATH
выполнении команды будет вызывать сценарий вместо «реального»gedit
приложения. В результатеYou are not allowed to use this application
появится то же сообщениеПеренаправление
gedit
команды(2)
Другой способ (с более ограниченным эффектом, см. Примечание) перенаправления команды приложения - добавить псевдоним в
.bashrc
файл:добавьте строку (пример gedit):
Примечание : это должно использоваться только в качестве дополнительной меры, так как оно только предотвращает прямой вызов приложения из терминала. Двойной щелчок на (например)
.txt
файле, тем не менее, все равно откроет приложение.Сделать использование терминала трудным или невозможным вообще
Чтобы предотвратить использование терминала, вы также можете выполнить тот же трюк с
gnome-terminal.desktop
файлом -, что и в[1]
, и / или изменить комбинацию сочетаний клавиш по умолчанию для запуска терминала (Системные настройки> «Клавиатура»> «Сочетания клавиш»> «Пускатели»). )4. Небольшой инструмент для автоматического создания (или отмены) отредактированной версии
.desktop
файла (как в 1.)Если вы запустите приведенный ниже скрипт либо с аргументом,
block
либоunblock
(вы должны запустить его с любым из них), вам будет представлен список с (глобальными) файлами рабочего стола, представляющими ваши установленные приложения:Выберите один, и ваше приложение будет заблокировано или разблокировано, в зависимости от аргумента, с которым вы его запускаете.
Заметка
Возможно, вам придется выйти / войти, чтобы заставить его работать.
Сценарий
Скопируйте скрипт в пустой файл, сохраните его как
block_apps.py
и запустите:или
B. Сценарий (ы) вариант (ы)
Блокировка определенных приложений также может быть выполнена путем запуска сценария в фоновом режиме. Сценарий должен будет выполнить определенные действия, если запущено одно из «запрещенных» приложений.
1. Скрипт для управления экраном при использовании запрещенных приложений.
Сценарий ниже предлагает гибкий способ блокировки пользовательских приложений. Он запускается с помощью простой команды с запрещенными приложениями в качестве аргумента, например (при условии, что вы сделали исполняемый скрипт):
Преимущество таких приложений в том, что они гибкие; даже в пределах одной учетной записи можно использовать разные настройки, просто используя другие приложения в качестве аргумента.
Что оно делает
Откомментировав одну из строк:
или
Сценарий либо:
черный экран (
action = "xrandr --output "+screen+" --brightness 0"
):или переворачивает его вверх ногами (
action = "xrandr --output "+screen+" --rotate inverted"
):( кто сказал, что Unity не позволяет поставить панель запуска справа? )
Сценарий
Как пользоваться
block_apps.py
, сделайте его исполняемымзапустите его командой:
Важно
, чтобы убить в
block_apps.py
сценарий и восстановить «нормальные» настройки, используйте скрипт ниже (сделать его доступным при комбинации клавиш быстрого вызова):Как всегда со сценариями, скопируйте его в пустой файл, сохраните как
kill_blockapps.py
, сделайте его исполняемым и запустите его:Возможно, вы захотите, чтобы это было под сочетанием клавиш: Выберите: «Системные настройки»> «Клавиатура»> «Ярлыки»> «Пользовательские ярлыки». Нажмите «+» и добавьте команду, как указано выше.
источник