首页 新闻 搜索 专区 学院

本地c#远程执行Linux服务器上的shell脚本

0
[已解决问题] 解决于 2018-08-28 14:09

本地c#远程执行Linux服务器上的shell脚本,出现 :cannot connect to X server,我用xhost+ 把我本机的ip加上了,还是无法执行shell命令

问题补充:

string command3 = "cd /home/li/Desktop && chmod u+x bat.sh && ./bat.sh";


StringBuilder result = new StringBuilder();
try
{
using (var client = new Renci.SshNet.SshClient(server, username, password))
{
try
{
client.Connect();
var command12 = client.RunCommand(command2);
string serverResponse = command12.Result;
client.Disconnect();
}
catch (Exception e1)
{
result.Append(e1.Message + "\r\n");
}
}
}
catch (Exception e1)
{
result.Append(e1.Message + "\r\n");
string t = result.ToString();
}

NeXT、的主页 NeXT、 | 菜鸟二级 | 园豆:295
提问于:2018-08-27 15:50

建议提供相关的C#代码

dudu 3年前

@dudu: 补充了

NeXT1995 3年前
< >
分享
最佳答案
0

command2 的值是什么?

奖励园豆:5
dudu | 高人七级 |园豆:36403 | 2018-08-27 22:48

command2 ="cd /home/li/Soft/MFusion && ./MFusion DataPath=Dataset/wu003"

这个MFusion是一个图形化程序,我想通过他来处理数据,我的思路是这样的,先在C#中把数据进行预处理,然后将数据上传至服务器。再执行这个程序处理的命令

NeXT、 | 园豆:295 (菜鸟二级) | 2018-08-28 10:13

@NeXT、: 你自己用同样的账户手动 ssh 可以正常执行上面的命令吗?

dudu | 园豆:36403 (高人七级) | 2018-08-28 10:39

@dudu: 在Linux 中执行命令是可以的,因为他会打开图形界面。

但是远程执行的话就会报cannot connect to X server的

NeXT、 | 园豆:295 (菜鸟二级) | 2018-08-28 11:13

@NeXT、: 试试 "export DISPLAY=:0 && cd /home/li/Soft/MFusion && ./MFusion DataPath=Dataset/wu003"

dudu | 园豆:36403 (高人七级) | 2018-08-28 11:21

@dudu: 可以了可以了,谢谢大神

NeXT、 | 园豆:295 (菜鸟二级) | 2018-08-28 14:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册