Я хотел бы знать, как я могу иметь дополнительную панель (нажмите F3) в файловом менеджере по умолчанию.
В настоящее время я добавляю дополнительную панель, и когда я закрываю файловый менеджер, мне нужно добавить ее снова.
Это быстрый путь, но я чувствую себя более продуктивно, когда у меня есть, и я не думаю, что добавлять его систематически.
я буду использовать редактор vim
, но если вы этого не знаете, можете заменить vim
с помощью nano
(простой редактор терминала) или gedit
(графический редактор).
Установка xdotool
Вы можете установить xdotool
через программный центр: xdotool .
или через
sudo apt-get update && sudo apt-get install xdotool
Создание специального сценария для запуска nautilus
Создайте сценарий со следующим содержимым
#!/bin/bash
nautilus $1 && sleep 0.5 ; xdotool key --clearmodifiers F3
и сохраните его где-нибудь, предположим, что мы сохраним его как ~ /scripts/nautilus.bash
Сделайте скрипт исполняемым с помощью chmod + x ~ / scripts / nautilus.bash
.
Теперь проверьте скрипт, набрав scripts / nautilus.bash
, чтобы открыть наутилус,и через долю секунды вы должны получить дополнительную панель.
Изменение файла рабочего стола
Файл рабочего стола приложения определяет, как ваше приложение будет отображаться в панели запуска Unity и на тире, и что происходит, когда вы нажимаете на него .
Вы можете использовать locate, чтобы узнать его местоположение
locate nautilus.desktop
Это вернет
/usr/share/applications/nautilus.desktop
Теперь, чтобы убедиться, что ничего плохого не произошло, давайте сделаем резервную копию:
sudo cp /usr/share/applications/nautilus.desktop /usr/share/applications/nautilus.desktop.bak
Теперь мы можем безопасно редактировать его (не забудьте использовать gedit
или nano
, если вы не знаете vim
):
sudo vim /usr/share/applications/nautilus.desktop
Теперь вы увидите следующее (я удалил часть содержимого в середине)
[Desktop Entry]
Name=Files
Comment=Access and organize files
Exec=nautilus %U
...
[Desktop Action Window]
Name=Open a New Window
Exec=nautilus
OnlyShowIn=Unity;
Мы ' Если вас интересуют строки Exec =
, эти строки определяют, что происходит, когда мы щелкаем приложение. Нам нужно изменить оба (пункт в [Окно действий на рабочем столе]
- это запись в быстром списке Unity).
Теперь замените nautilus
в строке Exec =
местоположением вашего скрипта, в моем случае /home/gerhard/scripts/nautilus.bash
( % U
в верхнем должен остаться). Теперь сохраните и выйдите.
Протестируйте
Если вы заблокировали наутилус для вашей программы запуска, он исчезнет, найдите в тире «Файлы», и щелчок по нему должен открыть наутилус с дополнительной панелью!
Примечания
Если он работает только иногда (или не работает вообще), возможно, увеличьте время ожидания перед нажатием клавиши, увеличив значение для функции sleep
в вашем скрипте.
Я обнаружил, что мне нужно более сложное использование xdotool. Пока я занимался этим, я решил, что сценарий, принимающий необязательный второй аргумент каталога для новой панели, может быть полезен:
if [ ! -d "$1" ]; then
echo "parameter 1 not a directory"
exit 1
fi
theSubDir=${1##/*/} #Deletes /*/ from front of $1, giving nautilus window title
file_browser_id=$(xdotool search --name "$theSubDir" | head -1)
if [ -n "$file_browser_id" ]; then # nautilus already open in directory
exit
fi
nautilus "$1"
sleep 0.5
file_browser_id=$(xdotool search --name "$theSubDir" | head -1)
if [ -z "$file_browser_id" ]; then
echo no nautilus
exit
fi
xdotool search --name "$theSubDir" windowactivate --sync key --window 0 F3
if [ $# -gt 1 ]; then
if [ ! -d "$2" ]; then
echo "source parameter not a directory"
exit 1
fi
xdotool search --name "$theSubDir" windowactivate --sync \
key --window 0 --clearmodifiers Ctrl+l # location bar to path
xdotool search --name "$theSubDir" windowactivate --sync type "$2"
xdotool search --name "$theSubDir" windowactivate --sync \
key --window 0 --clearmodifiers Ctrl+l Return
fi
Выполните:
nautilus && sleep 0.5 ; xdotool key --clearmodifiers F3
Сначала необходимо установить xdotool
.