У меня есть сценарий bash на машине с Ubuntu 10.4. Это общий доступ, и я могу получить к нему доступ с моей машины win7 с \\LINUX-SERVER\bash_repo\make-live
Однако когда я это делаю, windows пытается открыть его. Я не этого хочу. Я хочу сказать убунту выполнять Это.
На самом деле я надеюсь, что смогу создать приложение с графическим интерфейсом пользователя в окнах, где пользователь нажимает кнопку, и она сообщает сценарию bash на машине ubuntu для выполнения.
Возможно ли это?
Плинк от производителей PuTTY пробовали? http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Вы должны иметь возможность запустить скрипт на машине ubuntu, например:
plink.exe -ssh -pw pass -noagent user@linux-server /path/to/your/script/make-live
Как было предложено в моем комментарии выше, вы можете выполнить свой скрипт из PHP, если у вас есть веб-сервер, работающий на вашем компьютере с Ubuntu.
Достаточно небольшого PHP-скрипта вроде следующего:
<?php
$output = shell_exec('bash /path/to/your/script');
echo "$output";
?>
Сохраните код PHP в файле, например /var/www/exec.php
и укажите в браузере с любого компьютера URL-адрес http://your_ubuntu_machine_ip/exec.php
.
Обратите внимание, что скрипт будет выполняться как www-data
пользователь (пользователь веб-сервера apache по умолчанию). Если вы хотите запустить привилегированную команду с помощью sudo, вам нужно добавить www-data
пользователь к sudoers
файл с использованием visudo
.
Вам нужна запись вроде:
www-data ALL=NOPASSWD: /path/to/command
Как предлагали другие, вы можете использовать ssh для получения сеанса CLI или обернуть его в доступную программу, однако то, что вы можете получить к нему доступ как к общему сетевому ресурсу, подразумевает, что Samba настроена и работает - и есть множество способов заставить Samba выполнять файлы. (например, волшебный скрипт, winpopups, svcctl) rtfm Больше подробностей.