У меня в университетском офисе есть компьютер с Ubuntu, запущенным ssh и Python. Я сам подключаюсь к нему с помощью ssh для запуска программ Python и просмотра результатов. Только вывод из командной строки, ничего особенного.
Однако у меня есть коллега, которому я хотел бы позволить сделать то же самое. К сожалению, он не очень разбирается в ИТ, поэтому я бы не хотел вдаваться в подробности его ознакомления с ssh. Я ищу для него простой альтернативный способ запустить программу и увидеть вывод (из командной строки).
Запуск программы в этом контексте означает привязку к определенной папке myFolder
и выполнение python file1.py
в этой папке.
Поставляется ли Ubuntu с установленным apache или другим веб-сервером? Могу ли я создать для него еще один способ общения? Он использует Windows 7.
Конечно, Вы можете апач установки и попытать Вашего счастья оттуда.
мне, следующее кажется более простым:
Таким образом, весь Ваш друг должен сделать, нажимают на значок, и ему подарят консоль, где он может непосредственно использовать сценарий: python file1.py
Вы могли настроить сервер ноутбука Ipython.
Здесь инструкции.
ноутбуки должны быть относительно простыми в использовании (для некоторых приложений еще лучше, чем терминальный интерфейс). Плюс Вы не должны установить клиент SSH на компьютере Вашего друга или изобрести Ваш собственный защищенный протокол.
Если Вы уже кодируете в Python, Вы могли бы записать веб-фронтенд для своей программы с помощью http.server
модуль в Python 3, или BaseHTTPServer
в Python 2. Ваша программа тогда испустила бы свой вывод непосредственно по HTTP к удаленному браузеру. Детали того, как сделать так, выходят за рамки этого сайта, но в зависимости от Вашей программы это могли быть меньше чем 10 строк кода.
Принимают во внимание, что путем выполнения этого, Вы потеряли бы всю возможность аутентификации и авторизации SSH. Другими словами, этот метод не позволяет серверу гарантировать, что Вы или Ваш коллега - тот, получающий доступ к странице. Если кто-либо еще обнаруживает правильный URL, они могут запустить Вашу программу, потенциально много раз в быстрой последовательности; они могли разрушить его; они могли попытаться взломать его; и т.д., Но если эти риски приемлемы для Вас, вероятно, трудно разбить чистый Python для простоты.
возможно сделать аутентификацию и авторизацию по HTTPS, конечно, но тогда это больше не настолько просто.
Ubuntu настроили пакет и предварительно сконфигурированный для Ubuntu, который включает апача и mysql, который можно установить с sudo apt-get install lamp-server^
. При установке этого, необходимо будет кодировать программное обеспечение, чтобы сделать то, что Вы хотите сделать; как веб-сервис, где он вводит ссылку и затем видит вывод Python в его окне браузера. Я считаю это излишеством; если Вы не ожидаете делать больше с ним.
, Но разве не было бы легче создать сценарий на машине Windows, которая делает ssh, выполнение на Вашем сервере и загружает вывод, таким образом, он видит его? Кажусь тривиальным мне (хорошо, я делаю это все время, но не использую Windows, чтобы сделать это;)).