Как создать ярлык для запуска приложения Windows с помощью Wine?

Благодаря ответу от shellholic, я смог сделать это (несколько) для sftp. Сначала создайте файл /etc/bash_completion.d/sftp со следующим содержимым:

# custom sftp(1) based on scp
# see http://askubuntu.com/questions/14645/is-it-possible-to-get-tab-completion-with-sftp
#
_sftp()
{
    local configfile cur userhost path prefix

    COMPREPLY=()
    cur=`_get_cword ":"`

    _expand || return 0

    if [[ "$cur" == *:* ]]; then
        local IFS=$'\t\n'
        # remove backslash escape from :
        cur=${cur/\\:/:}
        userhost=${cur%%?(\\):*}
        path=${cur#*:}
        # unescape spaces
        path=${path//\\\\\\\\ / }
        if [ -z "$path" ]; then
            # default to home dir of specified user on remote host
            path=$(ssh -o 'Batchmode yes' $userhost pwd 2>/dev/null)
        fi
        # escape spaces; remove executables, aliases, pipes and sockets;
        # add space at end of file names
        COMPREPLY=( $( ssh -o 'Batchmode yes' $userhost \
            command ls -aF1d "$path*" 2>/dev/null | \
            sed -e "s/[][(){}<>\",:;^&\!$=?\`|\\ ']/\\\\\\\\\\\\&/g" \
            -e 's/[*@|=]$//g' -e 's/[^\/]$/& /g' ) )
        return 0
    fi

    if [[ "$cur" = -F* ]]; then
        cur=${cur#-F}
        prefix=-F
    else
        # Search COMP_WORDS for '-F configfile' or '-Fconfigfile' argument
        set -- "${COMP_WORDS[@]}"
        while [ $# -gt 0 ]; do
            if [ "${1:0:2}" = -F ]; then
                if [ ${#1} -gt 2 ]; then
                    configfile="$(dequote "${1:2}")"
                else
                    shift
                    [ "$1" ] && configfile="$(dequote "$1")"
                fi
                break
            fi
            shift
        done

        [[ "$cur" == */* ]] || _known_hosts_real -c -a -F "$configfile" "$cur"
    fi
    # This approach is used instead of _filedir to get a space appended
    # after local file/dir completions, and $nospace retained for others.
    local IFS=$'\t\n'
    COMPREPLY=( "${COMPREPLY[@]}" $( command ls -aF1d $cur* 2>/dev/null | sed \
        -e "s/[][(){}<>\",:;^&\!$=?\`|\\ ']/\\\\&/g" \
        -e 's/[*@|=]$//g' -e 's/[^\/]$/& /g' -e "s/^/$prefix/") )

    return 0
}
complete -o nospace -F _sftp sftp

Затем в bash вам нужно выполнить . /etc/bash_completion.d/sftp, чтобы загрузить скрипт.

Все, что я действительно это было копирование / вставка скрипта завершения scp из /etc/bash_completion.d/ssh и замена вложений scp с помощью sftp.

1
задан 15 July 2016 в 13:09

3 ответа

WLCreator - это программа (скрипт) Python, которая создает пусковые установки для Linux для Windows-программ (используя Wine).

Использование

WLCreator попытается извлечь значки из exe-файла и искать все файлы ico в каталоге exe и его подкаталогах и преобразовывать их в png-файлы. Кроме того, он будет искать png-файлы в главном каталоге приложения. После этого пользователю предоставляется графический интерфейс, в котором он может выбрать значок и имя пусковой установки.

Программа также может быть интегрирована в Nautilus (как nautilus-script). Это упрощает создание пусковых установок!

Вам нужно убедиться, что у вас установлены python-qt4, icoutils и imagemagick, чтобы полностью использовать приложение.

Загрузить. deb package отсюда, и как только у вас есть пакет deb, вам нужно дважды щелкнуть по нему, чтобы установить.

enter image description here

здесь

10
ответ дан 25 May 2018 в 23:27

«Создать Launcher» больше не является вариантом в контекстном меню.

Вот что я делаю. Это не самое простое, но как только оно на месте, вы можете просто дублировать / редактировать существующие файлы.

Открыть сеанс терминала Создайте папку хранения для сценария запуска
mkdir $HOME/.bin
Создайте сценарий запуска
nano $HOME/.bin/appname.sh
. Вставьте следующий код без кавычек
#!/bin/bash

cd "$HOME/.wineprefix/drive_c/Program\ Files/programfolder/"

WINEPREFIX="$HOME/.wineprefix" wine exefilename.exe
Нажмите Ctrl + X Нажмите Y, чтобы сохранить изменения Нажмите Enter, чтобы подтвердить имя файла. Сделайте исполняемый файл сценария
sudo chmod +x ~/.bin/appname.sh
Создайте ссылку рабочего стола
nano /Desktop/appname.desktop
. Вставьте следующий код. Не используйте ~/<path> для указания домашнего каталога, он не работает в файлах .desktop. Я создал подкаталог в .bin для значков. Если у вас нет значка, вы можете оставить строку пустой.
[Desktop Entry]

Name=<Appname>

Comment=Wine Program

Exec=$HOME/.bin/appname.sh

Icon=$HOME/.bin/ico/icofilename.ico

Terminal=false

Type=Application

Categories=Game;

GenericName=appname
Нажмите Ctrl + X Нажмите Y Нажмите Enter

Теперь вы сделали.

Чтобы создать дополнительные пусковые установки, просто скопируйте существующий файл и отредактируйте его в терминале

cp $HOME/.bin/appname.sh $HOME/.bin/newappname.sh

nano $HOME/.bin/newappname.sh

Изменить и закрыть

cp $HOME/Desktop/appname.desktop $HOME/Desktop/newappname.desktop

nano $HOME/Desktop/newappname.desktop

Изменить и закрыть

2
ответ дан 25 May 2018 в 23:27

Я хочу ярлык для Fox, так вот что я сделал:

$ touch "$HOME/Desktop/fox.desktop"
$ sudo touch "/opt/fox.sh"

$ chmod +x "$HOME/Desktop/fox.desktop"
$ sudo chmod +x "/opt/fox.sh"

$ editor "$HOME/Desktop/fox.desktop"  # Add the data
$ editor "/opt/fox.sh"  # Add the data

$ cat "/opt/fox.sh"
#!/bin/bash

WINEPREFIX="$HOME/.wineprefix" wine "$HOME/.wine/drive_c/Program Files (x86)/firstobject/foxe.exe"

$ cat "$HOME/Desktop/fox.desktop"
[Desktop Entry]
GenericName=Fox
Exec=/opt/fox.sh
Icon=/home/<username>/.wine/drive_c/Program Files (x86)/firstobject/foxe.exe_14_128_1033_1_32x32x4.png
MapNotify=true
Type=Application
Name=Fox

EDIT: Если вы хотите захватить значок из exe; следуйте за Fox или используйте GUI «gExtractWinIcons» (доступно с apt-get install).

1
ответ дан 25 May 2018 в 23:27

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

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