没有设置X11 DISPLAY变量

时间:2015-05-13 21:38:29

标签: java variables x11 init env

我正在使用fadecandy服务器运行Raspbian,使用vncserver加载X11实例并运行java应用程序来驱动fadecandy控制的指针。我需要在启动过程中加载它。

在/etc/init.d/我有一个名为fadecandy的bash脚本:

export DISPLAY=":1"
runstopturn

runstopturn无法执行。如果我登录系统并手动运行它,我收到错误“没有设置X11 DISPLAY变量......”

在提示符下键入以下内容:

public void onViewCreated(final View view, Bundle savedInstanceState) {
    final TextView t1 = (TextView) view.findViewById(R.id.txt1);
    final TextView t2 = (TextView) view.findViewById(R.id.txt2);
    final TextView t3 = (TextView) view.findViewById(R.id.txt3);
    new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                final ArrayList arrayList = XMLPullParser.parse("http://localhost/news.xml", "news", 1, 2, 3);
                System.out.println(arrayList.size() + "return from arraylist");
                /*
                t1.setText(arrayList.get(0).toString());
                t2.setText(arrayList.get(1).toString());
                t3.setText(arrayList.get(2).toString());
                */
            } catch (URISyntaxException e) {
                e.printStackTrace();
            }
        }
    }).start();
}

然后一切正常。

我需要帮助设置DISPLAY变量或在启动时将其传递给Java脚本。

2 个答案:

答案 0 :(得分:0)

很难说没有更多日志,但为什么你vncserver作为root运行?这可能是你问题的开始。

尝试以较低权限的用户身份运行(必要时创建一个),或者如果您真的必须,请将{em>整个脚本作为root运行 - 但混合和匹配的用户将会环境和配置难以正确。

编辑:另外,检查/bin/sh实际指向的内容。在小型安装上,它可能比您最初想象的更少Bash(即您可能需要使用setenv - some details here)。

答案 1 :(得分:0)

对这个问题太沮丧了。有一种方法可以给猫皮肤,或者驱动一个fadecandy服务器...我只是想在python中完成整个过程。应该是一个更轻量级的解决方案,我不需要X11实例。

再次感谢尼克的称重。