我不知道这是Java还是Ubuntu问题,所以我会在这里发帖。
由于我在startx下工作了一段时间的冒险,从终端启动Eclipse。在一个程序中,我使用Runtime类安装外部驱动器
String[] command = {"gksu", "mount", "/dev/sdb1", "mounter/sdb"};
Runtime.getRuntime().exec(command);
每次都提示输入密码。所以我写了这个
String pwd = "mypassword";
System.setIn(new ByteArrayInputStream(pwd.getBytes()));
该命令执行良好,无需输入密码(也适用于sudo -S
)
但是现在我重新开始使用lightdm并且这不起作用。使用gksu
时,它每次都会提示我输入密码,sudo -S
什么都不做。
String input;
while((input=new BufferedReader(new InputStreamReader(System.in)).readLine()) != null) {
System.out.println(input);
}
此命令实际上在控制台中显示我的密码,但我仍然无法让程序不要求我输入密码。
除了其他标准之外,应用程序的目标是快速,而且这个密码很烦人。如果你们中有人有任何建议我会很感激。
此致
答案 0 :(得分:0)
我想使用密码,将其放在属性文件中,以便程序可以轻松地从计算机传输到计算机。无法让它与newline一起使用,所以我修改了mount和umount而不是要求输入密码,我将不得不在手册文件中解释如何。