Я недавно задал этот вопрос о добавлении сценария оболочки для Подчеркивания штриховой линией:
В 14,04, как я запускаю скрипт удара, который я записал, не открывая терминал?
Это работало отлично.
Последующий вопрос: Как я могу передать параметры командной строки через Тире? Пример: В этом случае мою команду тире называют "Панелью". Сценарий снабжает мой экран панелями с 8 терминалами. Вот пример использования:
panel # Tile the screen with 8 terminal windows.
panel --left # Tile the left side with 4 terminals
panel --right # Tile the right side with 4 terminals
И так далее. Как я могу передать аргументы как --left
или --right
через Тире? Идеально я хотел бы иметь этот рабочий процесс:
panel --left
(например),Прямо сейчас это запускает правильный скрипт, но игнорирует --left
.
Совет?
Проблема в том, что вы не можете "запустить" файл .desktop
из Dash с аргументами, поэтому установка точно , как вы имели в виду, невозможно боюсь. Однако, если ваш сценарий принимает аргументы , есть несколько элегантных альтернативных вариантов, может быть, даже лучше:
Сохраните сценарий в ~ / bin
запустите его, нажав Alt F2 , введите команду
Создайте быстрый список в средстве запуска Unity:
(при условии, что вы сохранили сценарий в ~ / bin
, сделали его исполняемым и удалили расширение, как в 1.)
[Desktop Entry]
Name = name_of_your_script_like_you_see_it_in_Dash
Exec =
Значок = / путь / к / некоторые / значок
Тип = Приложение
Действия = Панель; Панель - левая; Панель - правая;
[Панель действий на рабочем столе]
Имя = Панель
Exec =
OnlyShowIn = Единство;
[Панель действий на рабочем столе - слева]
Имя = Панель - левая
Exec =
OnlyShowIn = Единство;
[Панель действий на рабочем столе - слева]
Имя = Панель -право
Exec =
OnlyShowIn = Единство;
Сохраните его как panel.desktop
в ~ / .local / share / applications
и перетащите его в средство запуска.
Создайте три разных сочетания клавиш, например Alt + <, Alt + ^ , Alt + > для запуска вашего скрипта + аргументы:
«Системные настройки»> «Клавиатура»> «Горячие клавиши»> «Пользовательские сочетания клавиш»
Щелкните «+», чтобы добавить свои команды:
Не самый очевидный, но, исследуя варианты, следует упомянуть: вы можете вызвать список опций (zenity) из Dash:
Введите первый символ вашей опции, нажмите return, и ваш скрипт запустится с выбранным аргументом.
Снова предполагая, что вы сохранили скрипт в ~ / bin, сделали его исполняемым и удалили расширение языка, как в 1.:
Скопируйте скрипт ниже в пустой файл, сохраните его как panel_options.sh
, сделайте его исполняемым.
#! / Bin / bash
test = $ (zenity --list "1. Панель" "2. Панель -левый" "3. Панель -право" --column = "Параметры панели" --title = "Панель")
if [["$ test" = "1. Панель" *]]; тогда
elif [["$ test" = "2. Панель - левая" *]]; тогда
elif [["$ test" = "3. Панель-right" *]]; тогда
фи
Создайте файл .desktop из приведенного ниже кода. В строке Icon =
укажите путь к вашему значку, в строке Exec =
укажите путь к pane_options.sh
, сохраните его как панель .desktop
в ~ / .local / share / applications
[Desktop Entry]
Имя = Панель
Exec = / путь / к / panel_options.sh
Значок = / путь / к / некоторые / значок
Тип = Приложение
StartupWMClass = Zenity
Исходя из вашего исходного вопроса, похоже, что правильнее было бы переместить скрипт в ~ / bin /
, который должен быть в вашем $ ПУТЬ
по умолчанию.
Если вы сделаете это, вы снова сможете запустить свой скрипт, используя Alt F2 . Вы также сможете передавать ему аргументы, как в оболочке.
Вы также можете добавить любую другую папку, в которой вы храните свои скрипты, в свой $ PATH
. Для этого откройте ~ / .profile
в текстовом редакторе по вашему выбору:
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
В конце добавьте строку (заменив
своей папкой) и сохраните файл:
PATH="<folder>:$PATH"
Например, я добавляю $ HOME / .bin
в свой $ PATH
, чтобы мои двоичные файлы не загромождали мою домашнюю папку, но вы можете добавить любой каталог в только убедитесь, что на вашем пути нет ничего опасного (например, записываемого всем).
Изменения вступят в силу при следующем входе в систему.