IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Пингвинятник (ОС *NIX) (http://www.imho.ws/forumdisplay.php?f=76)
-   -   Запуск Windows приложений на Linux и FreeBSD удаленно (http://www.imho.ws/showthread.php?t=134379)

earcher 12.08.2008 20:08

Запуск Windows приложений на Linux и FreeBSD удаленно
 
Здраствуйте.
Такой вопрос.

Работаю через SSH.

Есть программа, написана для Windows, есть ли какие нибуть эмуляторы(например) чтобы можно было запустить эту программу (ну и работать с ней...) на *NIX системе. Опять же, работая через SSH.

Спасибо

p.s. речь и о linux и о freebsd

Hubbitus 13.08.2008 00:07

Конечно есть - Wine

earcher 13.08.2008 00:19

а можно в двух словах по-русски что он делает?

и можно ли на нём работать через ssh?

Hubbitus 13.08.2008 00:29

В двух словах это именно эмулятор винды. А Вы не можете это н оффсайте прочесть?

И конечно он может работать по ssh, почему нет-то!? Впрочем по нему практически все может работать, хоть иксы запускайте (ну не на сервере конечно иксы ставить)!

earcher 13.08.2008 11:57

Цитата:

И конечно он может работать по ssh, почему нет-то!?
Ок, поставлю Wine, запущу прогу мою через SSH.
А каким образом в нём осуществляется работа с запущенными программами? через консоль с моей прогой вроде никак не поработаешь...

Hubbitus 13.08.2008 12:47

Цитата:

Сообщение от earcher (Сообщение 1580859)
А каким образом в нём осуществляется работа с запущенными программами? через консоль с моей прогой вроде никак не поработаешь...

Если прога графическая, то естественно понадобится X-сервер на машине. В остальном проблем быть не должно - в ssh включаете X-форвардинг (можно траст X-форвардинг) и компрессию опционально и вперед! А, ну и конечно же на машине-клиента, откуда по SSH коннектитесь должно быть куда форвардить иксы. То есть тоже должен быть X-сервер.

earcher 14.08.2008 00:17

а не подскажите может статейки на русском как это всё сделать?

Hubbitus 14.08.2008 02:31

Да по Вайну куча статей как им пользоваться.
Если вообще не знакомы, для начала смотрим в википедии: http://ru.wikipedia.org/wiki/Wine

Множество статей и информации, к примеру, есть на http://freesource.info/wiki/WINE/

Ну и поисковики конечно не забываем, там куча ссылок найдется.

earcher 14.08.2008 12:57

я не про вайн спрашиваю.

читай первое сообщение
Комментарий Модератора:
Hubbitus:
Не грубите пожалуйста. Если что-то не понятно или хотите дополнительных/альтернативных решений, то пишите подробнее что не ясно или что Вам нужно.

Hubbitus 14.08.2008 13:09

Цитата:

Сообщение от earcher (Сообщение 1581158)
я не про вайн спрашиваю.

А про что? Разве Вайн не подходит для решения этой задачи?

На его основе есть и другие продукты, прежде всего платные, вроде CrossoverOffice и Cedega, которые в общем-то и есть вайн с различными улучшениями.

Еще, как Вариант, на Линуксовой машине можно поставить эмулятор, типа VirtualBox и под ним запустить винду, а под ней прогу. Но это уже, думается мне, не совсем относится к Вашему вопросу да и попахивает извращением для одной программы..

Если же Вы хотите просто запустить виндовый бинарник под Линуксом или БСД без эмулирования, то спешу ас огорчить - Вам это не удастся.

earcher 14.08.2008 22:16

Задача: мне нужно запустить и работать с виндовой программой на удалённом серваке freebsd.

Доступ - SSH.
Поставил там WINE (из портов).

ОС на сервере (удалённом) FreeBSD 6.3-STABLE
Я работаю на Windows XP

Xming поставил, тоже хотелось бы узнать как именно его настроить. Везде по разному пишут.

PuTTY, в настройках, в пункте SSH - X11 поставил галочку "Enable X11 forwarding" (протокол - MID-Magic-Cookie-1)

В поле X display location надо чтонибуть вводить? Типа localhost:0.0 (или localhost:10.0, не пойму)

В /etc/ssh/sshd_config поставил:

# X11 tunneling options
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

Не разберусь что дальше делать.

Ещё одна деталь. У меня IP внешнего Своего нет, можно ли будет без него всё это сделать?

Что мне дальше делать? Я не разбирусь как куда коннектиться...
Мануалов много, все перечитал но чтото ничего не получается. Буду благодарен за помощь.

Спасибо

Hubbitus 14.08.2008 23:14

Сам в свое время интересовался этим вопросом. Вот несколько ссылок толковых из закладок:
http://www.cpp.com.ua/?in=kpp_show_a...#12/2005%20%E3.
http://www.ccs.neu.edu/howto/howto-xp-xfree86.html

earcher 15.08.2008 01:15

вода

всё на английском.

Кто нибуть Сам сталкивался с решением подобной задачи? Я уже достаточно расписал мои действия, плиз без ссылок на мега-мануалы.

StasikOS 15.08.2008 08:22

Включаем X11-Forwarding:

/etc/ssh/sshd_config
# X11 tunneling options
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

$ ssh -X user@remote_server.com

Убеждаемся, что он включился и работает:

$ echo $DISPLAY
localhost:10.0

Теперь запускаем любые проги, которые используют X Window System и видим их окна на своем дисплее.

Чтобы это работало в Windows, на Windows должен быть установлен X-Server.

Тебе, как юному падавану, стоило бы изучить English, потому как переводить доки на X-сервера для Windows для форумчан будет обременительно. ;)

Если у вас "что-то не получается", здесь вряд-ли помогут. Это почти как "доктор, у меня что-то болит". Можно узнать подробнее, что именно ты пытался сделать и что в результате получил? С подробностями.

earcher 16.08.2008 20:04

Цитата:

$ ssh -X user@remote_server.com
Я же писал, я с Windows сижу.

Цитата:

Включаем X11-Forwarding:

/etc/ssh/sshd_config
# X11 tunneling options
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
Я выше написал что именно так и сделал.

Цитата:

$ echo $DISPLAY
localhost:10.0
echo $DISPLAY
DISPLAY: Undefined variable.

Цитата:

Теперь запускаем любые проги, которые используют X Window System и видим их окна на своем дисплее.
# wine /home/data/www/use/test1.exe
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
wine: Unhandled exception 0x0eedfade at address 0xffffffe8:0x7e24da2c (thread 0009), starting debugger...

Plague 16.08.2008 20:16

я что-то не пойму: ssh, ssh, windows.
ssh это протокол. софт какой используется на клиентской стороне?

earcher 16.08.2008 21:24

Plague
Ну он видимо подумал что я буду с никсов коннектиться, поэтому и сказал "$ ssh -X user@remote_server.com"

Цитата:

софт какой используется на клиентской стороне?
Какой софт имеется ввиду?
Для подключения с иксам у меня стот Xming.

/home/data/www/use/test1.exe это для теста пробовал запустить qip Contact manager

calc.exe попробовал запустить, почти тоже самое

# wine calc.exe
fixme:win:GetProcessDefaultLayout ( 0x33feac ): No BiDi
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.

Plague 16.08.2008 22:24

Цитата:

Сообщение от earcher (Сообщение 1581718)
Ну он видимо подумал что я буду с никсов коннектиться, поэтому и сказал "$ ssh -X user@remote_server.com"

что-то мне подсказывает что это на самом деле команда форварда иксов на удаленную тачку. к сожаленью проверить не могу, так как до своей БСДшной машины могу достучаться только через шлюз, соответственно еще и Икс через него прокинуть врядли удасться.

Hubbitus 17.08.2008 23:45

Цитата:

Сообщение от earcher (Сообщение 1581323)
Кто нибуть Сам сталкивался с решением подобной задачи?

Я сталкивался. С *NIX-*NIX так постоянно запускаю, если без графики не обойтись (обычно на ноуте с дестктопа)

В варианте с запуском на винде давно как-то пробовал, именно по этим докам - все заработало, но мне как-то не понравилось, и я забил (на VNC остановился).

Кстати, это и для Вас может быть вариантом - запускаете стандартную X-сессию на удаленном компе, и коннектитесь к нему по VNC вместо SSH. Ну а там уже дальше запускаете что хотите и как хотите...

Цитата:

Сообщение от earcher (Сообщение 1581323)
Я уже достаточно расписал мои действия, плиз без ссылок на мега-мануалы.

Ссылки были далеко не на мануалы!!! Маны читайте в оригинале (man what).

Цитата:

Сообщение от earcher (Сообщение 1581706)
echo $DISPLAY
DISPLAY: Undefined variable.

У Вас на клиентской-то машине запущен X-сервер?? Куда он форвардить-то графику будет? Ссылка на статью по выбору различных X-серверов для винды также была выше.


Цитата:

Сообщение от Plague (Сообщение 1581731)
что-то мне подсказывает что это на самом деле команда форварда иксов на удаленную тачку.

Вообще-то это команда коннекта по SSH но именно с поддержкой форварда иксов на удаленный комп. Именно об этом и речь сейчас.

earcher 18.08.2008 09:37

Цитата:

В варианте с запуском на винде давно как-то пробовал, именно по этим докам - все заработало, но мне как-то не понравилось, и я забил (на VNC остановился).

Кстати, это и для Вас может быть вариантом
tightvnc из портов поставил, щас попробую.

Цитата:

запускаете стандартную X-сессию на удаленном компе
Как?

Plague 18.08.2008 13:21

Для начала установим соединение по SSH с удаленным компьютером. Для этого запускаем PuTTY. Вводим IP-адрес компьютера *nix.
Переходим в раздел Connection / SSH / X11 и включаем перенаправление графического интерфейса. В качестве расположения X-сервера водим IP-адрес компьютера Windows, за которым сейчас сидим.
Кроме того, чтобы вместо русских букв не всплыли крокозябли, желательно в разделе Window / Translation установит правильную кодировку (у меня - UTF8 - стандартная кодировка на Debian и Ubuntu). Возвращаемся в раздел Session, сохраняем настройки и подключаемся к компьютеру Linux. В случае успешного подключения мы вводим логин и пароль и видим текстовую консоль. С ее помощью мы можем удаленно запустить консольные программы, но графические программы не могут рисоваться в консоли. Поэтому оставим на время наше подключение по SSH.
Теперь настроим Xming. Для этого запускаем программу XLaunch - это мастер настроек. На первом шаге указываем способ интеграции в графическое окружение Windows.
На втором шаге нам предлагается автоматически запускать какое-нибудь приложение вместе с иксами. Я предпочел сделать это позже по мере необходимости посредством уже запущенного нами PuTTY.
На третьем шаге указываем параметры запуска Xming. Опция Clipboard позволяет интегрировать буфер обмена. Также для полноценной работы я ввел следующие параметры:
"-dpi 96" - чтобы поправить размер шрифтов. Значение можно подбирать по вкусу.
"-xkblayout us,ru" - для работы с двумя раскладками клавиатуры.
"-xkbvariant basic,winkeys" - уточнение раскладок.
"-xkboptions grp:caps_toggle" - переключение раскладки клавишей CAPS LOCK.
На следующем шаге сохраняем настройки кнопкой "Save configuration" и запускаем X-сервер кнопкой "Готово".
В дальнейшем запустить сервер с теми же настройками можно просто путем открытия сохраненного файла. Изменить настройки можно через контекстное меню файла.
Итак, X-сервер запущен. Возвращаемся в нашу консоль, предоставленную соединением SSH. Здесь мы можем удаленно запустить консольное приложение, и в этой же консоли увидим вывод этого приложения. А что теперь будет, если мы попытаемся запустить в этой консоли графическое приложение? Обычно, если вы подключились по SSH и пытаетесь запустить оконное приложение, вы получите ошибку, потому что вы подключились к удаленному компьютеру в консольном режиме, и рисовать окна просто нечем. Однако, в этот раз мы включили перенаправление графики на наш компьютер Windows, на котором уже запущен свой X-сервер. Поэтому, если вы попытаетесь запустить оконное приложение в удаленном консольном терминале, его окно нарисуется на компьютере Windows. Попробуйте, например, набрать следующую команду:

$ kwrite &
или
$ gedit &

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

© "Верхом на Debian GNU Linux", там же можно все иструкции прочитать с картинками.

Hubbitus 18.08.2008 19:33

Цитата:

Сообщение от earcher (Сообщение 1582081)
tightvnc

Я лично, по собственному опыту рекомендую turbovnc, но работают они большинство конечно...

Цитата:

Сообщение от earcher (Сообщение 1582081)
Как?

Ну как. Стандартно... Вы вообще читали МАН по vncserver??? Базово там десяток строк http://www.opennet.ru/man.shtml?topi...ry=1&russian=3
Код:

vncserver [:number] [-geometry widthxheight] [-depth depth] [-pixelformat rgbNNNbgrNNN] [-name desktop-name] [Xvnc-options...]

Plague 19.08.2008 17:33

кстати, вопрос такой:
а если пойти дальше в плане запуска иксового приложения на удаленной тачке:
$ setenv DISPLAY 192.168.0.165:0 (у меня tcsh, для bash и иже с ним команда немного другая будет, но не суть)

далее вся графа отправляется на 165 ИП.

вопрос: можно ли как-то использовать setenv в данном случае применительно к данной конкретной команде? типа чтоб можно было создать алиас, и делать так:
$ алиас команда_которую_отправляем_на_удаленный_дисплей
и после ее выполнения шелл забывает что
Цитата:

$ env
....
DISPLAY=192.168.0.165:0
надеюсь, понятно идею объяснил? :)

Hubbitus 19.08.2008 17:40

Опять же, НЕ знаю как в tcsh, а в bash и еже с ним ;) элементарно:
DISPLAY=192.168.0.165:0 <need command>

Janira 01.10.2008 17:20

Как вариант, поднять wmserver и поставить у себя wmclient. Можно на WMServer лепить что угодно, хоть Фрю. хоть Винду. ))))

Hubbitus 03.10.2008 16:04

earcher, чего-то столько времени ни привета ни ответа. У Вас получилось?


Часовой пояс GMT +4, время: 06:49.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.