Как правильно выполнить AppImage, и другие программы в / выбирают?

У меня создается впечатление, что это - хороший идеал для устанавливания приложений к /opt

Поэтому каждый раз, когда я загружаю программу, я помещаю ее в /opt. Однако некоторыми из них является AppImages, и некоторые из них являются папками.

Однако теперь для выполнения одного из тех приложений я должен работать /opt/pathtoapp/ от терминальной подсказки - и обычно с sudo из-за местоположения приложения в opt.

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

0
задан 16 March 2019 в 00:50

2 ответа

appimaged дополнительный демон, который наблюдает определенные местоположения за AppImages и если он обнаруживает некоторых, регистры их с системой, так, чтобы они обнаружились в меню, имели свои значки, обнаруживаются, связанные типы MIME, и т.д. Это также не регистрирует AppImages снова от системы, если они удалены.

appimaged зарегистрирует AppImages в в Вашей системе от следующих мест:

  • $HOME/Downloads (или его локализованный эквивалент, как определено G_USER_DIRECTORY_DOWNLOAD в бойком)
  • $HOME/.local/bin
  • $HOME/bin
  • $HOME/Applications
  • /Applications
  • [any mounted partition]/Applications
  • /opt
  • /usr/local/bin

https://github.com/AppImage/appimaged#monitored-directories

2
ответ дан 26 October 2019 в 01:02

Существует немного вещей, Вы имеете отношение к внешне установленному приложению для него, чтобы быть "интегрированными" в Вашу систему. Но сначала позволяет, разъясняют каталоги установки:


Каталоги установки

/opt папка для хранения в масштабе всей системы и установки внешне установленных приложений.

~/.local/ ряд папок для хранения your-user-only и установки тех же приложений.

Примечание: ~ средства $HOME var, который обычно является /home/your_username - Ваша домашняя папка


Проблемы Sudo

Не должно быть потребности к sudo приложение, где когда-либо мог это быть сохраненным, если для самого приложения не нужны полномочия пользователя root. Проверьте следующее:

  1. Если полномочия файла файла (файлов) приложения в порядке:

    Можно узнать о системе разрешения Linux все вокруг Интернета. Одно учебное руководство здесь: https://www.digitalocean.com/community/tutorials/an-introduction-to-linux-permissions

    Файл должен иметь (когда ls -l [filename]) эти полномочия:

    775 = rwxrwxr-x

    Остерегайтесь: Изменение разрешения может быть опасным.

    Если это не, просто: chmod 775 filename

  2. Если все папки, содержащие файл (файлы) этого приложения, имеют корректные полномочия:

    775 = rwxrwxr-x

    В противном случае просто chmod 775 folder

  3. Если приложение не пытается получить доступ к каким-либо файлам с несоответствием полномочиям:

    Это может быть более трудно проверить, но обычно можно просто включить режим отладки на приложении с (например), -v опция (отличается от приложения до приложения - можно иногда узнавать --help или в человеке или информационных страницах), и затем видят ошибки, которые распечатывает приложение.

    Примечание: Можно спросить относительно форумов (как здесь) о приложении, это вызывает проблемы. Не забудьте обеспечивать:

    1. В чем проблема?
    2. Каково приложение
    3. ЖУРНАЛЫ - Действительно важный. Они помогают людям знать то, что вызывает проблему.

    (Предупреждение: С этим вопросом Вы не показали США, что заставляет Вас использовать sudo на тех приложениях! Если ни один из этих методов не будет работать, то это будет, конечно, потому что МЫ НЕ знаем то, что происходит в Вашем компьютере!)


DE "интеграция"

DE = настольная среда

Средства запуска приложения сохраняются в файле (файлах) (как все на Linux).

Наденьте больше информации AppName.desktop файлы: https://developer.gnome.org/integration-guide/stable/desktop-files.html.en и https://wiki.archlinux.org/index.php/Desktop_entries

На большинстве дистрибутивов Linux (включая Ubuntu), AppName.desktop файлы используются. Если приложение, которое Вы используете, не обеспечивает их, можно сделать себя одним (и не только для приложений).

Просто поместите это в названный файл AnyNameYouWantHere.desktop файл:

[Desktop Entry]
Type=Application
Name=Total Legit App Name
Comment=Lorem ipsum Comment Magic
Icon=/path/to/icon.png
Exec=/home/your_username/.local/share/AppName/AppImage
Terminal=false
Categories=game

Примечание: Должностным лицом не должен быть AppImage, это просто должен быть исполняемый файл. Сверьтесь со своим приложением. Также проверьте полномочия как в главу выше (775).

Затем выполненный:

xdg-desktop-menu install --novendor AnyNameYouWantHere.desktop

Можно также обеспечить --mode опция: (согласно странице справочника xdg-desktop-menu)

--mode mode

mode может быть пользователь или система. В непривилегированном режиме файл (ООН), установленная для текущего пользователя только. В системном режиме файл (ООН), установленная для всех пользователей в системе. Обычно только корню позволяют установить в системном режиме.

Значение по умолчанию должно использовать системный режим при вызове корнем и использовать пользователя

Можно теперь удалить файл - xdg-desktop-menu скопировал его в его собственное местоположение.


Примечание: Руководящие приложения, которые используются в качестве значения по умолчанию, должны быть в системных опциях.


Интеграция Shell

Для запущения приложения от оболочки без потребности предоставить ее целое местоположение необходимо добавить его к ПУТИ.

Что является ПУТЕМ, Вы могли бы спросить...

$PATH является переменной в Вашей оболочке, которая говорит bash, dash, zsh или какая-либо другая оболочка, где приложения сохраняются. В большинстве систем это будет иметь что-то вроде этого в нем:

$PATH=/bin:/usr/bin

Примечание: ПУТЬ также доступен в большинстве систем. Даже MS W*ndows имеет эквивалент его.

Это говорит Вашей оболочке, что, когда Вы ставите имя приложения в ней, она должна искать его в этих местоположениях.

Где затем сохранить приложение?

Если это в масштабе всей системы установлено:

Просто свяжите его в /usr/bin каталог:

ln -s /opt/amazingapp/AppImage /usr/bin/

Примечание: Необходимо связать его символически и абсолютно, не относительно. (Это зависит от типа использования.) Больше информации о ссылках здесь: https://en.wikipedia.org/wiki/Ln _ (Unix) и здесь: https://en.wikipedia.org/wiki/Symbolic_link

Если это - установленный пользователь:

Снова свяжите его как выше, но на этот раз в /home/your_username/.local/bin, затем добавьте /home/your_username/.local/bin в к Вашему ПУТИ, если это уже не там. (Большая часть информации ЗДЕСЬ: https://unix.stackexchange.com/a/26059/316299) можно протестировать это после соединения программы путем закрытия и открытия оболочки снова и попытки полного имени приложения.

0
ответ дан 26 October 2019 в 01:02

Другие вопросы по тегам:

Похожие вопросы: