Прозрачно запустите винные программы

Если Вы удачливы, IP-адрес посещаемых хостов может быть получен из ~/.ssh/known_hosts

9
07.04.2013, 11:54
4 ответа

Я предполагаю, что Вы означали запускать exe программы с вином непосредственно, поэтому скажите ядру выполнять win32 двоичные файлы с вином,

  1. Смонтируйте binfmt фс, добавьте строку none /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0 к/etc/fstab и выполняются mount -a впоследствии

  2. echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register зарегистрировать двоичный формат

Таким образом, позже Вы просто выполняете EXE-файл с /path/to/XX.exe

Обратите внимание, что это также представляет проблему безопасности.

9
27.01.2020, 20:05
  • 1
    я не могу отредактировать /proc/sys/fs/binfmt_misc/register. Это пишет /proc/sys/fs/binfmt_misc/register E667: Fsync failed. Я пытался отредактировать в соответствии с пользовательской учетной записью с sudo и в соответствии с корневой учетной записью также. Обе записи эта ошибка. –  xralf 01.04.2013, 12:43
  • 2
    Ничего себе! Я не знал, что ядро могло сделать это. Этот конкретный вариант использования чувствует себя злым все же. Но мне нравится этот, открывая ту дверь, имена файлов, который является расширениями, не имеют значения, тогда как другие Ose... :D –  Bananguin 02.04.2013, 21:21
  • 3
    @xralf: Как Вы пытаетесь отредактировать файл? эхо должно работать, но некоторые (большинство/все?) редакторы не могут работать, потому что это не реальный доступный для редактирования файл, это является виртуальным в proc файловой системе. –  chmeee 07.04.2013, 04:47
  • 4
    @xralf не редактирует с энергией –  daisy 07.04.2013, 05:34
  • 5
    @warl0ck, под которым я должен сделать это root учетная запись. Я добавил /path/to/ к моему $PATH переменная и я можем работать XX.exe из командной строки, но все еще не может выполнить его от dmenu. Извините я имею ошибочный это с xmobar в вопросе. –  xralf 07.04.2013, 11:52

Удостовериться wine находится в Вашем пути, и создайте сценарий оболочки, содержащий следующее:

#!/bin/sh
wine "$HOME/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe"

Дайте себе разрешение выполнить сценарий путем выполнения chmod u+x SCRIPT_NAME.

Затем просто запустите тот скрипт из своего файлового менеджера. Это запустит вино, которое выполнит TextAloudMP3.exe.

3
27.01.2020, 20:05
  • 1
    я создал названный сценарий textaloud в /usr/local/bin папка. Первая строка #! /bin/bash вторая строка wine .... textaloud не появится в xmobar средство запуска. При выполнении sh textaloud это пишет $ sh textaloud wine: cannot find '~/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe' –  xralf 31.03.2013, 15:12
  • 2
    Ой. ~ не расширяется до корневого каталога пользователя, когда это в двойных кавычках. Я изменил свой ответ для использования переменной окружения $HOME вместо этого. –   31.03.2013, 15:51
  • 3
    sh textaloud уже работы, но только из каталога /usr/local/bin и это все еще не видимо в xmobar средстве запуска. –  xralf 31.03.2013, 18:46
  • 4
    мог бы хотеть добавить $@ после названия программы, таким образом, это передает все аргументы. И я обычно помещал такие сценарии в ~ / мусорное ведро (после того, как, удостоверяясь это находится в Вашем ПУТИ, конечно). –  Wyatt8740 06.05.2015, 19:36
  • 5
    не Мог Вы также определять псевдоним в ~/.bash_aliases? –  Aaron Franke 30.01.2018, 01:57

Вы считали попытку PlayOnLinux? Это может заботиться обо всем этом для Вас, и даже можно настроить некоторые типы файлов, которые будут открыты винными программами.

1
27.01.2020, 20:05

Шаг 0

Установите двоичный ПУТЬ для своего пользователя. Выполненный mkdir ~/bin и добавьте этот каталог к своему ПУТИ.

То, как это сделано, может варьироваться в зависимости от среды оболочки и настольной среды, которую Вы используете.

Здесь Вы можете найденный, как изменить Ваш ПУТЬ во множестве оболочек.

Проверьте этот решенный вопрос, если Ваша настольная среда не заботится о Вашем профиле оболочки, и первый работает от терминала, но не от настольной среды.

Шаг 1

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

Создайте короткий сценарий оболочки для запущения винной программы в этом каталоге, т.е. ~/bin/textaloud:

#!/bin/bash
cd "~/.wine/drive_c"
exec wine "~/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe" "$@"

И дайте его, выполняют разрешение.

chmod +x ~/bin/textaloud

Существует три вещи отметить о вышеупомянутом сценарии:

  • cd путь - то, где программа будет выполненной (в который каталог). Некоторые программы могут потребовать, чтобы Вы выполнили их на определенном каталоге. Если Вы испытываете затруднения из-за этого, устанавливаете там, что каталог (обычно то же, где исполняемый файл расположен). Можно не хотеть эту строку в некоторых случаях.
  • exec команды говорят удару превращаться в вино со следующими аргументами, таким образом, это больше не удар рабочее вино, но вино становления процесса удара. PID остается. У Вас нет двух выполнений процессов.
  • $@ заменен с аргументами, Вы запустили скрипт, если таковые имеются. Таким образом, они передаются Вашей винной программе.

Теперь можно запустить программу от оболочки как...

textaloud

Шаг 2

Создайте средство запуска приложения. В наше время эти файлы являются standarized как .desktop файлы и много настольных сред обеспечивают графические инструменты для создания их.

Вот скелет в качестве примера, который можно использовать для записи этого сами. Можно хотеть обеспечить значок (часто в PNG, SVG или XPM).

[Desktop Entry]
Type=Application
Name=TextAloud
Exec=textaloud
Icon=textaloud.png

Поместите этот файл в ~/.local/share/applications/TextAloud.desktop. Значки ищутся (среди других мест) в ~/.local/share/icons, поэтому удостоверьтесь, что нашли милый значок для своего приложения и поместили его туда с именем textaloud.png.

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

3
27.01.2020, 20:05
  • 1
    Спасибо, я судил Ваше руководство, но последний шаг не работает. Я не вижу textaloud в dmenu средство запуска. –  xralf 30.05.2013, 20:49
  • 2
    Шаг 2 направлен к рабочим столам как GNOME, KDE или XFCE. dmenu, кажется, не заботятся о .desktop файлах, таким образом, с Шагом 1 необходимо быть в порядке. Это работало от терминала? Если это сделало, но все еще не работает, рассматривает Шаг 0. Возможно, Вы используете ~/.xsession получить Ваш X11 sesion? Попытайтесь добавить там export PATH="$HOME/bin:$PATH" перед строкой Вы используете, чтобы выполнить dwm и перезапустить X11. –  Alicia 31.05.2013, 00:19
  • 3
    В работах от терминала без проблем. ПУТЬ в порядке. Только вопрос быть завершенным я хотел бы работать он от dmenu. –  xralf 31.05.2013, 10:16
  • 4
    я сказал Вам. Вы имеете ~/.xsession? Знайте, что ПУТЬ Вашего терминала не может быть равен ПУТИ Вашей сессии X11. –  Alicia 31.05.2013, 12:57
  • 5
    $@ должен быть в двойных кавычках для безопасности. таким образом, это стало бы exec wine "~/.wine/drive_c/Program Files/TextAloud/TextAloudMP3.exe" "$@". –  Wyatt8740 06.05.2015, 19:37

Теги

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