Чи можна запустити Matlab на віддаленому сервері та керувати ним за допомогою графічного інтерфейсу Matlab від thinclient?

Подібно до того, що можна зробити з emacs з слизом: основні служби можуть працювати на віддаленому комп'ютері, виконуючи оцінку, тоді як я можу редагувати та запускати код з emacs gui на нетбуці.

  • Мені та моїм колегам часто доводиться робити деякі демонстраційні файли за допомогою машини навчальні скрипти, що працюють у MATLAB

  • Для цього потрібно носити важкі ноутбуки.

Чи можемо ми запускати програми на віддаленому сервері та отримувати доступ    це використання того ж MATLAB GUI без запуску сценаріїв локально?

Віддалене керування робочим столом або подібні рішення не є прийнятним: кілька користувачів хотіли б використовувати той самий сервер.

Ось чому жоден з відповідей тут були корисними

4
Це, безумовно, можливо, саме так я використовував Matlab у своїй випускній лабораторії. Я не знаю специфіки того, як він працював, тому я не публікую це як відповідь, але коротка відповідь - "так". Сподіваємось, хтось інший може сказати вам як зробити це.
додано Автор eykanal, джерело
Вам особливо потрібен графічний інтерфейс? Ви завжди можете запустити matlab -nojvm за допомогою ssh, що виведе вас у оболонку MATLAB. Звичайно, ви не матимете доступу до графічних інтерфейсів або графіки, що робитиме це.
додано Автор Dang Khoa, джерело
@PoorLuzer: Яка операційна система працює на віддаленому сервері? якщо ви використовуєте Windows, я вважаю, що виникає проблема з ліцензією, і вам потрібна версія Windows Server, яка зможе мати декілька одночасних сеансів для віддаленого робочого стола. Якщо у вас є UNIX, X11 не має таких обмежень і ідеально працює над тунелюванням SSH. Звичайно, ви можете використовувати інші технології віддзеркалення відображення, такі як VNC та подібне ...
додано Автор Amro, джерело
Думаючи про це, це питання більше підходить для суперкористувача
додано Автор Amro, джерело
@Amro: Windows.
додано Автор PoorLuzer, джерело

2 Відповіді

SSH з пересиланням X-window зробить трюк. Він отримає вам екран matlab, який ви знаєте і любите, але буде працювати все на віддаленому комп'ютері. Для цього в терміналі з SSH (мені подобається MobaXterm, хоча ви можете використовувати Putty) ви ssh через

ssh server.location.here -X

Це дозволить отримати термінал на комп'ютері (після введення пароля), а в терміналі просто введіть

matlab

і з'явиться екран MATLAB. Зверніть увагу, що opengl буде відключено, тому ваші ділянки можуть не схоплюватися так швидко, хоча ви все ще можете використовувати алгоритми gpu (наприклад, cuda. ​​Зауважте, що, можливо, буде потрібно запустити команду "COMPUTE =: 0" перед відкриттям MATLAB, якщо gpuDevice виявиться порожнім MATLAB Cuda).

2
додано
Ви можете встановити SSH на Windows через Cygwin, хоча це може бути настільки жорстким. Найпростішим рішенням є віддалений робочий стіл (RDP). Це дуже просто налаштувати. Якщо ви шукаєте в панелі пошуку Windows "Віддалений робочий стіл", ви перейдете до поля, яке потрібно перевірити, щоб його ввімкнути, а потім потрібно додати виняток із брандмауера Windows, але тоді ви можете піти ( якщо ваш маршрутизатор не блокує порт). З комп'ютера з ОС Windows ви шукаєте віддалений робочий стіл, і це приведе вас до клієнта, де ви вставляєте в IP серверного комп'ютера, і це приносить вам ваш екран входу в систему Windows.
додано Автор Chris Rackauckas, джерело
Як зауваження, RDP виведе вас на ваш "головний" екран, але якщо у вас є довгий код, він буде продовжувати працювати, і, коли ви ввійдете на свій віддалений екран, воно все ще буде працювати. Якщо ви використовуєте декілька моніторів, RDP, а потім повернетеся на головний екран, воно перемістить всі вікна на один екран. Однак це єдиний недолік (після того, як ви встановите всі налаштування мережевих портів і це працює), крім безпеки. Мені, як правило, це більше, ніж SSH, через те, наскільки легко це зробити для тривалого кодування, який триває, і відкриває GL на сервері, що означає, що у вас менше графічних помилок.
додано Автор Chris Rackauckas, джерело
Дякую за ваш внесок. Windows - це операційна система MATLAB.
додано Автор PoorLuzer, джерело

На мій досвід найкращий спосіб - VNC . Ви можете запустити сервер VNC на хост-машині, а потім отримати доступ до цього настільного ПК віддалено з будь-якого місця за допомогою клієнта VNC . Ви можете від'єднати та повторно підключитись в інший час, і ваш робочий стіл все одно буде там. Крім того, у кількох користувачів можуть бути різні сеанси, або доступ до одного. Якщо ви не хочете, щоб кожен сеанс запускав повноцінний робочий стіл, його можна налаштувати як мінімальний. Для безпеки рекомендується використовувати тунель SSH або подібні.

Точні програми відрізнятимуться залежно від вашої настройки, але речі до Google виділено жирним шрифтом вище.

Моя установка:

  • VNC server: vnc4server on a Ubuntu linux host.
  • VNC client: Chicken of the VNC for mac.
  • SSH tunnel: SSH Tunnel Manager for mac (although this can be done at the command line too).

Удачі!

EDIT: Ось знімок екрана сеансу vncserver, який я щойно запустив у нашому кластері, при цьому працює MATLAB. Я отримую доступ до нього через vnc клієнт на моєму Mac. Працює чудово!

enter image description here

2
додано
Однак VNC є досить інтенсивною пропускною здатністю, оскільки вона надсилає вам графічний інтерфейс. Чи не є щось швидше для MATLAB спеціально?
додано Автор bright-star, джерело
JOhn, це дуже добре зроблена відповідь! Якщо я використовую цю техніку, чи зможете ви підтвердити, чи може декілька віддалених користувачів використовувати одну робочу станцію разом з іншим користувачем, що фізично сидить на цій робочій станції, кожен з яких не заважає іншому? На робочих станціях працюють всі i5-2600 з оперативною пам'яттю 16 Гб, що використовує Win 7 Ultimate
додано Автор PoorLuzer, джерело
Час буде перш, ніж я можу перевірити це, але ваша відповідь дуже висока. Приймаючи це
додано Автор PoorLuzer, джерело
@PoorLuzer Правильно. Головним обмеженням буде, якщо всі користувачі почнуть працювати достатньо речей, щоб сповільнити роботу машини в цілому. Крім того, оскільки сервер стане комп'ютером Windows, він, мабуть, варто трохи поцікавитись для довідників, орієнтованих на Windows, щоб дізнатись, чи є якісь додаткові проблеми, про які потрібно знати. Удачі!
додано Автор John Colby, джерело
Я не впевнений, що це точна відповідь на запитання. Він хоче написати на MATLAB від клієнта і запустити безпосередньо на MATLAB із сервера. @ John Colby
додано Автор Tengerye, джерело