понедельник, 26 февраля 2018 г.

XFCE. Самопроизвольное восстановление автозапуска Dropbox


При установке на новую систему клиента Dropbox была выявлена неприятная ситуация, связанная в тем, что несмотря на деактивацию и даже полное удаление записи автостарта Dropbox из "Сеансы и запуск" в DE xfce, при очередном запуске клиента Dropbox запись об автозапуске Dropbox автоматически восстанавливалась.

Лично меня данная ситуация совершенно не устраивает. Dropbox мной используется лишь периодически и мириться с ненужным мне автостартом Dropbox при запуске системы мне совершенно не хотелось.


Наиболее простым и незатратным по времени решением мне показалось создание скрипта sh, который будет запускать клиент Dropbox и удалять автоматически создаваемый файл автозапуска.

Файл автозапуска Dropbox в xfce расположен в каталоге

/home/Ваш_домашний_каталог/.config/autosart/

Так как каталог  .config  является скрытым, то для его отображения в файловом менеджере необходимо включить отображение скрытых файлов (Вид – Скрытые файлы).


Файл  dropbox.desktop  можно открыть в текстовом редакторе.

[Desktop Entry]
Name=Dropbox
GenericName=File Synchronizer
Comment=Sync your files across computers and to the web
Exec=dropbox start -i
Terminal=false
Type=Application
Icon=dropbox
Categories=Network;FileTransfer;
StartupNotify=false

Итак, приступаем к созданию желаемого скрипта sh . Открыть текстовый редактор и внести в него следующее содержание:

#!/bin/bash
zenity --info --text "Запускается клиент Dropbox." 2>/dev/null --timeout=5
dropbox start -i
sleep 7
rm "/home/user/.config/autostart/dropbox.desktop"
zenity --info --text "Удаление автозапуска Dropbox завершено." 2>/dev/null --timeout=5

Строка zenity --info --text "..." 2>/dev/null --timeout=5 является всплывающим информационным сообщением, которое автоматически исчезает через 5 секунд

sleep 7 является командой "заснуть на 7 секунд", что соответствует ввожу команды ожидания в 7 секунд. Такое значение обусловлено тем, что автосоздание файла dropbox.desktop происходит не сразу. 7 секунд установлено "с запасом" и вполне возможно, что будет достаточно 5-ти или даже 3-х секунд. Для себя Вы можете подобрать время экспериментально.

rm "/home/user/.config/autostart/dropbox.desktop" является командой удаления файла dropbox.desktop  В данной строке user является домашним каталогом пользователя. У Вас вместо user должно быть имя Вашего домашнего каталога.

После отработки команд скрипт завершит свою работу и исчезнет из диспетчера задач.

Если вместо информационного сообщения по центру экрана Вы предпочитаете видеть вплывающие системные уведомления (оповещения), то вместо строки

zenity --info --text "Текст сообщения." 2>/dev/null --timeout=5

используйте строку  notify-send -i info "Текст сообщения."

Если системные уведомления (оповещения) не отображаются, то возможно, что в системе отсутствует необходимый пакет и его требуется установить:

sudo apt install libnotify-bin

Если Вам не нужны всплывающие сообщения, то скрипт можно сократить, например:

#!/bin/bash
dropbox start -i
sleep 7
rm "/home/user/.config/autostart/dropbox.desktop"

Сохраните написанный файл как имя_файла.sh и в его свойствах во вкладке "Права" установите галочку в поле "Разрешить запуск этого файла в качестве программы".

Теперь либо создайте кнопку запуска Вашего скрипта sh либо в "Инструменты – Редактор меню – Интернет" измените команду dropbox start -i на указание пути к Вашему файлу sh.

Для проверки работоспособности созданной конструкции включите отображение скрытых файлов, перейдите в каталог с файлом автозапуска  dropbox.desktop  и запустите свою команду запуска клиента Dropbox через созданный скрипт sh . Через некоторое время Вы увидите, что файл  dropbox.desktop  исчезнет.



Ничего не могу сказать про Cinnamon и MATE, так как мной давно сделан выбор в пользу оболочки XFCE.

Комментариев нет:

Отправить комментарий