Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Как создавать значки для запуска приложений?  (Прочитано 701 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alixey

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Не могу понять логику разработчиков.

В Windows я использовал несколько браузеров.
Точнее браузер был один, но я делал несколько ярлыков и в каждом в параметрах запуска прописывал разные пути к профилю.
Захотел сделать так же на Ubuntu и не получилось.

Во-первых, на рабочем столе нет значков. Не знаю, какую он должен выполнять функцию по замыслу разработчиков — видимо только для созерцания обоев.
Через gnome tweak tool я включил значки, но они все равно время от времени пропадают.

На панель быстрого запуска много значков не добавить. А мне нужно много приложений вывести для быстрого запуска.
В Ubuntu есть действия в контекстном меню (Action).
Добавил к значку браузера несколько действий, вызывающих его с разными профилями — работает.
Но изменить основные свойства невозможно. Как только изменяешь что-либо в секции Desktop Entry — значок тут же исчезает из панели быстрого запуска или перестает быть запускаемым.
Я хочу в одном из значков заменить запуск приложения на запуск моей обертки. Но как только изменяю Exec — значок перестает работать.

Собственно задача в следующем.
Я использую KeePass2. В Windows и Android настроена автоматическая синхронизация файла данных в облако Google Drive.
В Ubuntu вообще нет совместимых клиентов с поддержкой Google Drive. Через онлайн-аккаунты я подключил облако, приложение KeePassXC может его открывать, но не может изменять (открывает в режиме просмотра).
Я через rclone настроил синхронизацию файла с облаком. Но теперь мне нужно изменить значок таком образом, чтобы при его активации перед запуском приложения (KeePassXC) файл вначале копировался из облака локально, а после его завершения копировался из локального файла в облако.

Оффлайн soarin

  • Старожил
  • *
  • Сообщений: 1850
  • ubuntu 20.04
    • Просмотр профиля
Берёшь файл
/usr/share/applications/org.keepassxc.KeePassXC.desktop

Копируешь его в
/home/ПОЛЬЗОВАТЕЛЬ/.local/share/applications

Ну и редактируешь его
https://askubuntu.com/questions/436891/create-a-desktop-file-that-opens-and-execute-a-command-in-a-terminal
« Последнее редактирование: 28 Ноябрь 2020, 15:48:40 от soarin »

Оффлайн alixey

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Не важно, где лежит desktop-файл, в /usr/share/applications/ или в ~/.local/share/applications/.
Как только я начинаю изменять основные параметры (в секции Desktop Entry), значок перестает работать (исчезает из панели запуска или становится незапускаемым).
В файле org.keepassxc.KeePassXC.desktop в параметре Exec по умолчанию прописано keepassxc.
Как только заменяю его на /home/user/scripts/keepassxc.sh — он перестает работать.

Как я понял из ссылки — нельзя запускать скрипт? Нужно запускать шелл и ему передавать скрипт?
« Последнее редактирование: 28 Ноябрь 2020, 16:14:17 от alixey »

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 4457
    • Просмотр профиля
Цитировать
Не важно, где лежит desktop-файл
Теоретически - да. Практически... Возникали проблемы, при расположении десктоп-файлов в хоме. Подробности точно уже не вспомню.
Цитировать
нельзя запускать скрипт?
Можно. В качестве примера, вот мой десктоп-файл для запуска браузеров:
# avnweb 20.
[Desktop Entry]
Type=Application
Version=1.0
Name=avnWeb-browser
Name[ru]=avnВеб-браузер
GenericName=Web browser
GenericName[ru]=Веб-браузер
Comment=Browse the World Wide Web
Comment[ru]=Доступ в Интернет
Icon=web-browser
Terminal=false
MimeType=text/html;text/xml;application/xhtml+xml;text/vnd.wap.wml;text/wml;application/x-mimearchive;application/mime;application/xml;application/rss+xml;application/rdf+xml;image/svg+xml;application/x-opera-extension;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/mailto;video/ogg;audio/ogg;video/webm;image/webp;
Categories=Network;WebBrowser;
#TryExec=avnweb
Exec=avnweb --util=opera --version=12 --
StartupNotify=true
StartupWMClass=opera
Actions=opera_mail;opera_new;opera_private;chromium_new;chromium_incognito;chromium_tmp;firefox_open;firefox_private;vivaldi_open;

[Desktop Action opera_new]
Name=Opera new window
Name[ru]=Opera открыть новое окно
Exec=avnweb -u=opera -v=45 --new-window --ppapi-flash-path=/usr/local/lib/i386-linux-gnu/flashplugin/libpepflashplayer.so --

[Desktop Action opera_private]
Name=Opera new private window
Name[ru]=Opera открыть новое приватное окно
Exec=avnweb -u=opera -v=45 --private --

[Desktop Action chromium_new]
Name=Chromium open a new window
Name[ru]=Chromium открыть новое окно
StartupWMClass=Chromium-browser
Exec=avnweb -i=chromium-browser -u=chromium --ppapi-flash-path=/usr/local/lib/i386-linux-gnu/flashplugin/libpepflashplayer.so --

[Desktop Action chromium_incognito]
Name=Chromium open a new window in incognito mode
Name[ru]=Chromium открыть новое окно в режиме инкогнито
#StartupWMClass=Chromium-browser
Exec=avnweb -i=chromium-browser -u=chromium --incognito --

[Desktop Action chromium_tmp]
Name=Chromium open a new window with a temporary profile
Name[ru]=Chromium открыть новое окно с временным профилем
StartupWMClass=Chromium-browser
Exec=avnweb -i=chromium-browser -u=chromium --temp-profile --

[Desktop Action firefox_open]
Name=Firefox open
Name[ru]=Firefox открыть
Icon=firefox
Exec=avnweb -i=firefox -u=firefox --

[Desktop Action firefox_private]
Name=Firefox open a new private window
Name[ru]=Firefox открыть новое приватное окно
Icon=firefox
Exec=avnweb -i=firefox -u=firefox -private-window --

[Desktop Action vivaldi_open]
Name=Vivaldi open
Name[ru]=Vivaldi открыть
Icon=vivaldi
Exec=avnweb -i=vivaldi -u=vivaldi -v=3 --ppapi-flash-path=/usr/local/lib/i386-linux-gnu/flashplugin/libpepflashplayer.so --
avnweb - шелл скрипт. Все пункты работают, начиная с *бунту 14 и по 20 включительно.
Цитировать
значок перестает работать (исчезает из панели запуска
Обрати внимание на строку "TryExec=". Если файл, указанный в этой строке не существует, то значок исчезаетс панели. В свое время, именно это заставило перейти на шелл-скрипт. Самого браузера может и не быть, а мой скрипт есть всегда.
Цитировать
Как только заменяю его на /home/user/scripts/keepassxc.sh — он перестает работать.
В пути-имени ошибок нет? В скрипте шебанг правильный? Скрипт исполнимый?

Оффлайн F12

  • Старожил
  • *
  • Сообщений: 2628
    • Просмотр профиля
... мне нужно изменить значок таком образом, чтобы при его активации перед запуском приложения (KeePassXC) файл вначале копировался из облака локально, а после его завершения копировался из локального файла в облако.
- ничего в значках не менял, у меня все твои хотелки работают без каких бы то ни было дополнительных телодвижений...

Я пользуюсь Ubuntu MATE 18.04 LTS, по молчанию в этом дистрибутиве нет Центра управления GNOME, а соответственно нет и утилиты Сетевые учетные записи (я так понимаю ты это называешь "онлайн-аккаунты").
Центр управления GNOME установил вручную, добавил в Сетевые учетные записи свой Google-аккаунт, включил Использовать Файлы, и в файловом менеджере появилось сетевое устройство с именем мой_аккаунт@gmail.com. Теперь, если кликнуть мышкой по этому сетевому устройству, то в файловом менеджере открывается папка google-drive://мой_аккаунт@gmail.com/ в которой отображается все содержимое https://drive.google.com/drive/my-drive.

В файловом менеджере в папке google-drive://мой_аккаунт@gmail.com/ я создал новую папку, обозвал ее kdbx, скопировал туда файл моя_база-данных.kdbx, параллельно смотрел в браузере https://drive.google.com/drive/my-drive, все это(и папка и файл) тут же появилось и в облаке, через форму в браузере загрузил в папку kdbx файл моя_база-данных_2.kdbx, посмотрел в файловом менеджере в папку kdbx, там уже оба файла, т.е. синхронизация работает нормально в обе стороны.

Запустил KeePassXC, открыл базу данных, расположенную в Места/google-drive://мой_аккаунт@gmail.com/kdbx/, ввел пароль, выбрал Файл-ключ (я его тоже использую), нажал Ok, и пользуюсь...
Если в процессе работы понадобилось что-то изменить в базе данных, то KeePassXC тут же сохраняет все в google-drive://мой_аккаунт@gmail.com/kdbx/моя_база-данных.kdbx

Оффлайн alixey

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
В пути-имени ошибок нет?
Путь указывал как ~/scripts/keepassxs.sh, все остальное правильно.
Попробую убрать TryExec и указать абсолютные пути.

скопировал туда файл моя_база-данных.kdbx, параллельно смотрел в браузере https://drive.google.com/drive/my-drive, все это(и папка и файл) тут же появилось и в облаке
Если что-то делать через файловый менеджер (Наутилус), то да, все изменения синхронизируются.

Запустил KeePassXC, открыл базу данных, расположенную в Места/google-drive://мой_аккаунт@gmail.com/kdbx/
А вот если запустить KeePassXC и открыть базу из смонтированного облачного размещения, то база успешно открывается, но в заголовке появляется приписка (read-only). И сохранить базу нельзя.

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 4457
    • Просмотр профиля
Цитировать
Путь указывал как ~/scripts/keepassxs.sh
Тильда вообще мало где работает. Только абсолютные пути.
« Последнее редактирование: 28 Ноябрь 2020, 18:56:54 от andytux »

Оффлайн F12

  • Старожил
  • *
  • Сообщений: 2628
    • Просмотр профиля
А вот если запустить KeePassXC и открыть базу из смонтированного облачного размещения, то база успешно открывается, но в заголовке появляется приписка (read-only). И сохранить базу нельзя.
- дык, я же именно так и делаю, запускаю KeePassXC > База данных > Открыть базу данных (Ctrl+O) > мой_аккаунт@gmail.com > kdbx > моя_база-данных.kdbx > Открыть база открывается и никаких read-only

Тут скорее всего причина в DE, у меня MATE, а у тебя ТРЕТЕГНОМ, который последнее время даже с Рабочим столом без Наутилуса пытается обходиться, а в результате куча боков лезет во все щели, типа отсутствие значков на Рабочем столе и много чего еще, на что масса народу жалуется  ::)

Оффлайн jurganov

  • Активист
  • *
  • Сообщений: 448
    • Просмотр профиля
Тут скорее всего причина в DE, у меня MATE, а у тебя ТРЕТЕГНОМ, который последнее время даже с Рабочим столом без Наутилуса пытается обходиться, а в результате куча боков лезет во все щели, типа отсутствие значков на Рабочем столе и много чего еще, на что масса народу жалуется 
Вот мегня и удивило, почему у людей такие проблемы, а у меня нету??
Оказывается у меня MATE, а у них третегном?

Оффлайн alixey

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Тут скорее всего причина в DE, у меня MATE, а у тебя ТРЕТЕГНОМ
Возможно. Штатная оболочка вообще у меня кучу вопросов вызывает.
Советуете Mate?

Пользователь добавил сообщение 30 Ноябрь 2020, 10:08:03:
Поставил Mate.
Выглядит поинтереснее, но KeePass все равно открывает базу в режиме read-only.
« Последнее редактирование: 30 Ноябрь 2020, 10:08:03 от alixey »

Оффлайн F12

  • Старожил
  • *
  • Сообщений: 2628
    • Просмотр профиля
Поставил Mate.
Выглядит поинтереснее, но KeePass все равно открывает базу в режиме read-only.
- а Mate ставил на свою же систему поверх Гнома, командой что-то типа apt install ubuntu-mate-desktop, или установил дистрибутив Ubuntu MATE, и какую версию?.. у меня 18.04.5, если что

Оффлайн alixey

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Ставил поверх с помощью apt. Версия 20.04 LTS.

Оффлайн F12

  • Старожил
  • *
  • Сообщений: 2628
    • Просмотр профиля
Ставил поверх с помощью apt
- ну это не одно и тоже что и дистрибутив, система все равно осталась заточенной под Гном. Да и в 20.04 я не пробовал как открывается база в KeePassXC

Выглядит поинтереснее, но KeePass все равно открывает базу в режиме read-only.
- только сейчас обратил внимание, ты пишешь KeePass, это опечатка, или все же ты используешь KeePassX или даже KeePass2?..
Спрашиваю потому что у меня установлен именно KeePassXC, и все, о чем я повествовал выше, именно о нем ::)

Оффлайн alixey

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Да, речь везде именно о KeePassXC.

Оффлайн alixey

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Re: Как создавать значки для запуска приложений?
« Ответ #14 : 01 Декабрь 2020, 15:07:54 »
Решил сменой оболочки на MATE.

Пользователь добавил сообщение 02 Декабрь 2020, 12:52:21:
Подскажите еще.
Создаю desktop-файл на рабочем столе. Все работает.
Копирую его на панель быстрого запуска (верхняя панель в MATE). С рабочего стола значок удаляю. Все по прежнеум работает.
Где этот значок размещается физически (если нужно будет внести изменения)?
Делал find по всему диску, не нашел.
« Последнее редактирование: 02 Декабрь 2020, 12:52:21 от alixey »

 

Страница сгенерирована за 0.076 секунд. Запросов: 25.