Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在lightdm中读取stdin的密码_Java_Ubuntu_Stdin - Fatal编程技术网

Java 在lightdm中读取stdin的密码

Java 在lightdm中读取stdin的密码,java,ubuntu,stdin,Java,Ubuntu,Stdin,我不知道这是Java还是Ubuntu的问题,所以我会在这里发布 由于一个bug,我在startx下工作了几天,从终端开始Eclipse。在一个程序中,我使用Runtime类安装了一个外部驱动器 String[] command = {"gksu", "mount", "/dev/sdb1", "mounter/sdb"}; Runtime.getRuntime().exec(command); 每次我都会被提示输入密码。所以我写了这个 String pwd = "mypassword"; S

我不知道这是Java还是Ubuntu的问题,所以我会在这里发布

由于一个bug,我在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);
}
这个命令实际上会在控制台中显示我的密码,但我仍然无法让程序不向我询问密码

该应用程序的目标是,除其他标准外,速度要快,而这个密码问题相当烦人。如果你们有什么建议,我将不胜感激


关于

我想使用密码,把它放在一个属性文件中,这样程序就可以很容易地从一台计算机转移到另一台计算机。无法使其与newline一起使用,因此我修改了mount和umount以不要求密码,然后我必须在手动文件中解释如何使用。

srsly。。。你正在试图解决一个你不应该遇到的问题。如果你真的需要将你的pw硬编码到你的应用程序中,你就做错了。如果您真的想在不输入密码的情况下装载这些东西,请配置您的系统,以便您的程序也不需要输入密码。(另外,您在密码后缺少一个换行符-这可能是由于最简单的示例,不知道)如果您根据启动X的方式获得不同的行为,那么我建议您在两种模式下从提示符运行“env”,并比较不同的行为。我怀疑在从lightdm运行时,您的会话中设置了一些(功能?),但在从startx运行时没有设置