Изменение вывода ShopT

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 ~/. 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
18.08.2018, 00:30
1 ответ

Нет, не без изменения исходного кода. Глядя на источник функции Bash 5(cd_builtin()в builtins/cd.def)--, он просто печатает предлагаемое имя каталога, а формат не настраивается во время выполнения (ищитеLCD_DOSPELL).

1
27.01.2020, 23:42

Теги

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