Как добавить программу в список «открывать с помощью» других приложений в Linux Mint 16?

Вы можете использовать pdfTeX:

echo '\shipout\hbox{}\end' | pdftex

, который создает пустую одностраничную texput.pdf размером около 900 байт, что составляет половину ImageMagick использует.

Однако это ставит вас во власть размера бумаги по умолчанию в вашей инсталляции TeX. Чтобы задать размер явно, вы можете вместо этого перейти в LaTeX:

echo '\documentclass[letterpaper]{article}\usepackage[pass]{geometry}
      \begin{document}\shipout\hbox{}\end{document}' | pdflatex

Еще один вариант - использовать драйвер PDF Ghostscript, хотя удобный скрипт ps2pdf :

echo showpage | ps2pdf -sPAPERSIZE=letter - blank.pdf

, который намного тише, чем TeX, но производит меньше компактный вывод (около 2300 байт).

3
31.12.2014, 15:08
2 ответа

OK, я попробовал с PhotoScape локально и ассоциация файлов работает, например, контекстное меню "Open with" из файлового менеджера предлагает PhotoScape для файлов .jpg.

То, что вам нужно сделать, объясняется в Настройка ассоциаций файлов в Ubuntu с Wine и частично в http://blog.thewebsitepeople.org/2010/12/nautilus-open-with-mime-type-associations/

Вам нужно создать два файла

  • один скрипт, который преобразует путь к файлу, который вы хотите открыть с помощью PhotoScape. PhotoScape, чтобы wine мог получить к нему доступ
  • один файл .desktop, который ассоциирует типы mime (например, jpg, .png, .bmp или любой другой, который вам нужен) с помощью вышеупомянутого скрипта

Скрипт ~/.local/share/applications/photoscape.sh выглядит вот так:

#!/bin/sh
param=
while [ "$1" ]
do
        param="$param Z:$1"
        shift
done
wine "C:\Program Files\PhotoScape\PhotoScape.exe" $param

Он добавляет Z: (это буква диска, в котором wine увидит остальную структуру каталогов вашей системы linux в большинстве дистрибутивов) к пути изображения, которое вы хотите открыть с помощью PhotoScape.

Файл .desktop ~/.local/share/applications/photoscape.desktop, который в моем примере ассоциирует файлы .jpg с помощью вышеупомянутого скрипта, выглядит так:

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=PhotoScape
Exec=~/.local/share/applications/photoscape.sh
Path=/home/doktor5000/.wine/dosdevices/c:/Program Files/PhotoScape
Icon=8FC0_PhotoScape.0
MimeType=image/jpeg;

Создайте оба файла, важно, чтобы файл .desktop располагался либо в ~/.local/share/applications, либо в /usr/share/applications, если вы хотите включить ассоциацию с PhotoScape для всех пользователей.

После создания этих двух файлов закройте файловый менеджер, откройте его снова и щелкните правой кнопкой мыши на файле .jpg, после чего он должен предложить открыть его с помощью PhotoScape.


EDIT:

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

┌─[doktor5000@Mageia5]─[00:30:08]─[~] └──╼

файлы не существуют

┌─[doktor5000@Mageia5]─[00:34:14]─[~]
└──╼ ls -al ~/.local/share/applications/photoscape*
ls: cannot access /home/doktor5000/.local/share/applications/photoscape*: No such file or directory

создание содержащей папки, если она не существует

┌─[doktor5000@Mageia5]─[00:34:15]─[~]
└──╼ mkdir -p ~/.local/share/applications

создание первого файла через так называемый здесь документ

┌─[doktor5000@Mageia5]─[00:51:42]─[~]
└──╼ cat << 'EOF' > ~/.local/share/applications/photoscape.sh
> #!/bin/sh
> param=
> while [ "$1" ]
> do
>         param="$param Z:$1"
>         shift
> done
> wine "C:\Program Files\PhotoScape\PhotoScape.exe" $param
> EOF
┌─[doktor5000@Mageia5]─[00:52:07]─[~]
└──╼ 

Подсказка: Команда, которую вы выполняете, это cat << 'EOF' > ~/. local/share/applications/photoscape.sh и когда вы нажмете клавишу Enter, курсор перейдет на следующую строку и вместо обычного приглашения отобразит символ >. Затем вставьте содержимое файла так, как я его разместил выше, без символов >, они будут добавлены оболочкой автоматически. В последней строке введите EOF (сокращение от end of file) и нажмите клавишу return, после чего документ будет записан в файл ~/.local/share/applications/photoscape.sh и вернется обычное приглашение.

добавление исполняемого разрешения к скрипту и проверка результата

┌─[doktor5000@Mageia5]─[00:52:07]─[~]
└──╼ chmod +x ~/.local/share/applications/photoscape.sh

┌─[doktor5000@Mageia5]─[00:56:23]─[~]
└──╼ ls -al ~/.local/share/applications/photoscape.sh
-rwxr-xr-x 1 doktor5000 doktor5000 123 Jan  3 00:52 /home/doktor5000/.local/share/applications/photoscape.sh*

┌─[doktor5000@Mageia5]─[00:56:28]─[~]
└──╼ cat /home/doktor5000/.local/share/applications/photoscape.sh
#!/bin/sh
param=
while [ "$1" ]
do
        param="$param Z:$1"
        shift
done
wine "C:\Program Files\PhotoScape\PhotoScape.exe" $param
┌─[doktor5000@Mageia5]─[00:57:07]─[~]
└──╼

добавление файла .desktop, как и раньше

┌─[doktor5000@Mageia5]─[00:57:07]─[~]
└──╼ cat << EOF > ~/.local/share/applications/photoscape.desktop
> [Desktop Entry]
> Version=1.0
> Type=Application
> Terminal=false
> Name=PhotoScape
> Exec=~/.local/share/applications/photoscape.sh
> Path=/home/doktor5000/.wine/dosdevices/c:/Program Files/PhotoScape
> Icon=8FC0_PhotoScape.0
> MimeType=image/jpeg;
> EOF
┌─[doktor5000@Mageia5]─[01:07:40]─[~]
└──╼

сделать его исполняемым, чтобы он стал "доверенным" файлом рабочего стола и проверка результата:

┌─[doktor5000@Mageia5]─[01:11:01]─[~]
└──╼ chmod +x ~/.local/share/applications/photoscape.desktop
┌─[doktor5000@Mageia5]─[01:11:10]─[~]
└──╼ ls -al ~/.local/share/applications/photoscape.desktop
-rwxr-xr-x 1 doktor5000 doktor5000 234 Jan  3 01:07 /home/doktor5000/.local/share/applications/photoscape.desktop*
┌─[doktor5000@Mageia5]─[01:11:55]─[~]
└──╼

Теперь, наконец, если вы откроете свой файловый менеджер и щелкните правой кнопкой мыши на любом файле .jpg, PhotoScape должен появиться в контекстном меню "Открыть с помощью". Это выглядит примерно так (ваш файловый менеджер, вероятно, nautilus, и он будет выглядеть по-другому, но надеюсь, вы поняли идею)

file manager context menu with open with including newly added PhotoScape association


Помимо этого, проблема, как мне кажется, заключается в том, что у вас есть проблемы с базовыми действиями, такими как поиск центра управления Mint, поэтому я предлагаю либо найти местный IT магазин, который может помочь вам с этим в вашей системе. Или второй вариант - открыть тему на форуме поддержки Linux Mint, чтобы они могли помочь Вам в этом.

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

В любом случае, не стесняйтесь спрашивать.

1
29.04.2021, 00:33

Решением является поиск файла *.desktop для этой конкретной программы (например,photoshop.desktop) и добавьте % F в конце строки, начиная с Exec

Я сделал этот процесс для stata14. На моей машине Ubuntu 15.01 я нашел файл в следующей папке

cd /usr/share/applications/
sudo vim stata14.desktop

Файл изначально был таким:

  1 [Desktop Entry]
  2 Version= 14.1
  3 Terminal=false
  4 Icon=/usr/share/icons/stata14.png
  5 Type=Application
  6 Categories=Education;Scientific;
  7 Exec=/usr/local/stata14/xstata-mp
  8 MimeType=application/x-stata-dta;application/x-stata-do;
  9 Name=Stata/MP 14
 10 Comment=Perform statistical analyses using Stata.

Я изменил only 7-ю строку и добавил %F в конце:

  7 Exec=/usr/local/stata14/xstata-mp %F
0
29.04.2021, 00:33

Теги

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