У меня есть некоторые сценарии/программы, которые я часто выполняю. Как я могу добавить значок к Панели для, например, как Dropbox который, когда на нажатом предоставляет выпадающему меню несколько опций, каждую опцию при нажатии на выполнения сценарий оболочки или программа с некоторыми аргументами (хороший иметь - сообщают об успешности или неуспешности).
Можно создать пользовательский значок средства запуска для выполнения сценариев. Откройте свой любимый текстовый редактор и скопируйте отрывок ниже:
[Desktop Entry]
Encoding=UTF-8
Name=My Scripts
Name[de]=Meine Skripte
Exec=myscript_0.sh
Terminal=true
Type=Application
Icon=terminal
StartupNotify=true
Actions=ContextMenu1;ContextMenu2
[Desktop Action ContextMenu1]
Name=Run script 1
Name[de]=Skript 1 starten
Exec=myscript_1.sh
[Desktop Action ContextMenu2]
Name=Run script 2
Name[de]=Skript 2 starten
Exec=myscript_2.sh
Теперь пора изменить этот тупик выше, поскольку это не будет полезно, как это для Вас!
[Desktop Entry]
раздел:Encoding=UTF-8
Лучше не изменяют эту строку, потому что иначе Вы получите проблемы при использовании каких-либо символов неASCII в этом файле.Name=...
Введите любую строку здесь, это будет английское имя по умолчанию объекта средства запуска.Name[de]=...
То же как Name=
, но для немца (de) перевод.[de]
или замените их другим кодом локали.Exec=...
Введите команду, которую Вы хотите выполнить, если значок средства запуска щелкается здесь.$PATH
переменная среды, имя исполняемого файла только достаточно, иначе необходимо указать полный путь.chmod +x
и это запускается с допустимой строки "хижины")! Terminal=true
Если Вы устанавливаете его на false
вместо этого, никакое окно терминала не будет открыто, и сценарий будет работать в фоне.Type=Application
Не изменяйте эту строку.Icon=terminal
Указывает значок объекта средства запуска. Можно использовать родовые названия как terminal
или введите полный путь в файл изображения.StartupNotify=true
Заставляет указатель мыши выполнять анимацию "ожидания" (вращающий круг/песочные часы) во время между нажатием на значок и когда окно открывается. Можно установить его на false
если Вы хотите.Actions=...
Перечисляет названия внутреннего идентификатора записей контекстного меню. Они должны соответствовать используемым в заголовках раздела контекстного меню ([Desktop Action ...]
) и потребность быть разделенным от точки с запятой списком без пробелов.[Desktop Action ...]
разделы:Вам только нужны ключи Name
(и переводы как Name[de]
, если Вы хотите), и Exec
здесь. Те же критерии как выше применяются здесь также.
Также удостоверьтесь снова что идентификатор (здесь ContextMenu1
и ContextMenu2
) в разделе заголовок появляются в Actions=
упомяните выше!
Количество таких блоков контекстного меню неограниченно.
После изменения тупика в качестве примера выше сохраните его в каталоге ~/.local/share/applications/
с пользовательским именем файла, но расширением .desktop
.
Затем это должно появиться в Вашей Линзе Приложения Тире Единицы (Super+A). Если это не делает, выходит из системы и въезжает задним ходом для обновления его. Затем перетащите его от Тире на панель средства запуска с Вашей мышью. Щелчок правой кнопкой по нему откроет контекстное меню, где все "Настольное Действие" объекты перечислено, как в снимке экрана в качестве примера ниже:
Ответ не обеспечивает способ создать индикатор, однако он действительно обеспечивает альтернативу. Центральная идея состоит в том, чтобы использовать графический список сценария, чтобы начать их.
Сценарий
рев сценария использует множество всех путей к любимым сценариям, которые пользователь может хотеть начать. Следующему сценарию предлагают быть сохраненным в личном $HOME/bin
папка и сделанным исполняемым файлом с chmod +x
. Это может далее быть связано с клавишей быстрого вызова, чтобы легко назвать пусковую установку, или альтернативно - помещенной в .desktop
короткий путь как показано в ответе ByteCommander.
Следуют за предложением в комментариях сценария для изменения его, чтобы удовлетворить Вашим потребностям
#!/bin/bash
# -------------------------------
# Author: Serg Kolo
# Date: Nov 10th, 2015
# Description: A launcher for favorite scripts
# Written for: http://askubuntu.com/q/693413/295286
#---------------------------------
# ARRAY holds full paths to scripts that you want to launch
# Always enclose paths in double quotes, separate by spaces
ARRAY=("/home/xieerqi/bin/sh/resizer.sh" "/home/xieerqi/bin/sh/verticalSplit.sh" "/home/xieerqi/bin/sh/vol-down.sh" )
# This launches zenity dialog with the list from ARRAY
# Stores into SCRIPT variable
SCRIPT="$( zenity --list --title "Select script to run" --column "Script files" "${ARRAY[@]}" | cut -d '|' -f1)"
# If SCRIPT variable is empty, do nothing, fail silently
# If exists, check if user has executable permissions
# Implies script existence
if [ -n "$SCRIPT" ];then
if [ -x "$SCRIPT" ] ; then
# if you want to see script running in terminal
# replace the line bellow with xterm -hold -e "$SCRIPT"
"$SCRIPT" &
else
zenity --error --text "File doesn't exist or wrong permission "
fi
fi
Скриншот