EDIT:
Существует ошибка вина об этом - это скорее улучшение, чем ошибка. Дело в том, что ShellExecute вызывает xdg-open, а если не найден, найдите значения gnome и kde. Вы должны иметь возможность применять патч и, наконец, иметь магию :-).
Чтобы быть более полным, вот как ошибка вина об этом .
] EDIT:
Я обновляю винный реестр скриптом ниже, чтобы добавить список распространенных типов файлов. Вы можете расширить список, чтобы добавить больше типов. Он использует /usr/bin/gnome-open в файле gstart.exe, поэтому он не будет работать для настольных компьютеров без gnome, как есть.
Поместите это в conf_wine.sh:
#!/bin/bash
SRC=~
WINE=~/.wine
REG=$WINE/system.reg
GSTART=gstart.exe
GSTART_TARGET=$WINE/drive_c
EXE_TARGET=$WINE/drive_c/windows
FNKEY=/tmp/"key"$(date +%F_%H-%M-%S)".reg"
[ -e $FNKEY ] && { echo "temporary key file exists..try again"; exit 1; }
echo "copying gstart.exe"
cp $SRC/$GSTART $GSTART_TARGET
chmod +x $GSTART_TARGET
echo "backing up the registry"
cp $REG $REG.$(date +%F_%H-%M-%S).old
echo "setting new wine registry keys"
for i in http doc docx ppt pptx xls xlsx odt ods xml txt pdf odt svg zip ; do {
echo "setting $i"
key='[HKEY_CLASSES_ROOT\.'$i']
@="'$i'file"
"Content Type"="application/'$i'"
[HKEY_CLASSES_ROOT\'$i'file\Shell\Open\command]
@="C:\\gstart.exe \"%1\""'
echo "$key" > $FNKEY
regedit $FNKEY
}
done
echo "done"
[d14 ] [F8] является скриптом bash ... и является мостом для обоих миров:
#!/bin/bash
OPEN_HANDLER=/usr/bin/gnome-open
# logging, optional
LOG=$HOME/.wine/gstart.exe-log.$(id -u -n)
echo "[ $(date) ] $# argument(s) received: '$@'" > $LOG
# convert the path
RESULT=$(winepath "$@" 2> /dev/null)
echo "$OPEN_HANDLER $RESULT" >> $LOG
TMP=$TMPDIR
TEMP=$TMPDIR
# finally open the file
$OPEN_HANDLER "$RESULT"
не будет работать для настольных компьютеров без gnome, как [!d15 ] скопируйте gstart.exe в текущий рабочий каталог перед запуском conf_wine.sh, когда он скопирует его в папку .wine. расположение папок может быть изменено, например. gstart.exe не нужно сидеть в c:\. не делает магии: новые типы должны добавляться вручную. Вы можете улучшить его, чтобы читать файлы Linux (mimeapps.list, ..) и обновлять реестр вин, если это необходимо. проверено на работу, по крайней мере, в вине1.4.
Часто задаваемые вопросы по вину: как мне связать собственную программу с типом файла в Wine?
Причина, по которой пакет nodejs кажется настолько устаревшим, заключается в том, что он не обновлялся с момента выхода Ubuntu 16.04 LTS, но вы можете установить v9 из node.js, используя следующие команды:
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
Источник: https://nodejs.org/en/download/package-manager/
Причина, по которой пакет nodejs кажется настолько устаревшим, заключается в том, что он не обновлялся с момента выхода Ubuntu 16.04 LTS, но вы можете установить v9 из node.js, используя следующие команды:
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
Источник: https://nodejs.org/en/download/package-manager/
Причина, по которой пакет nodejs кажется настолько устаревшим, заключается в том, что он не обновлялся с момента выхода Ubuntu 16.04 LTS, но вы можете установить v9 из node.js, используя следующие команды:
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
Источник: https://nodejs.org/en/download/package-manager/
Причина, по которой пакет nodejs
кажется настолько устаревшим, заключается в том, что он не обновлялся с момента выхода Ubuntu 16.04 LTS, но вы можете установить v9 из node.js
, используя следующие команды:
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
Причина, по которой пакет nodejs
кажется настолько устаревшим, заключается в том, что он не обновлялся с момента выхода Ubuntu 16.04 LTS, но вы можете установить v9 из node.js
, используя следующие команды:
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
Причина, по которой пакет nodejs
кажется настолько устаревшим, заключается в том, что он не обновлялся с момента выхода Ubuntu 16.04 LTS, но вы можете установить v9 из node.js
, используя следующие команды:
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
Причина, по которой пакет nodejs
кажется настолько устаревшим, заключается в том, что он не обновлялся с момента выхода Ubuntu 16.04 LTS, но вы можете установить v9 из node.js
, используя следующие команды:
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
Причина, по которой пакет nodejs
кажется настолько устаревшим, заключается в том, что он не обновлялся с момента выхода Ubuntu 16.04 LTS, но вы можете установить v9 из node.js
, используя следующие команды:
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
Причина, по которой пакет nodejs
кажется настолько устаревшим, заключается в том, что он не обновлялся с момента выхода Ubuntu 16.04 LTS, но вы можете установить v9 из node.js
, используя следующие команды:
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
Причина, по которой пакет nodejs
кажется настолько устаревшим, заключается в том, что он не обновлялся с момента выхода Ubuntu 16.04 LTS, но вы можете установить v9 из node.js
, используя следующие команды:
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs