2017-05-25 32 views
1

我创建将使用一个7" 触摸显示屏,树莓派3.我想GUI才能让桌面的地方GUI界面更换桌面界面,我不想它显示在桌面上的任何想法如何做到这一点我已阅读树莓派文档来编辑rc.local脚本来启动登录应用程序,但我无法弄清楚如何设置python只是文本 - - 带出创建一个窗口如何使用Python应用程序

+0

这听起来很危险。无论如何,这可能取决于您正在使用的操作系统。 –

回答

0

您的个人信息引导并显示控制台GUI。通过运行一个程序(getty的)然后运行其他应用程序调用的图形显示管理器,然后运行一个窗口管理器在一个圆周率。它通常是gnome,但也有很多其他的,..这个窗口管理器是显示你的GUI窗口的。你想要的显然是po可行的,只是这样做不重要。你所谈论的要么是信息亭模式应用仍然是“在桌面上”运行像你说的,但它完全掩盖了台式机和不允许你切换或散焦或更为复杂的JeOS像科迪/ XBMC裸机安装运行没有你当前的窗口管理器。你的Python将不得不做显示管理器和窗口管理器的工作,它会非常非常慢。

使用真光窗口管理器和去kiosk模式。或者你可以用文字去!有一些库,例如ncurses,但我不确定这将如何与您的触摸屏显示器一起工作。

+0

我如何给你半票?用于记忆自助服务终端模式的Bravo。但是你在说什么减速,我不知道!???您运行一个应用程序,X获取命令并绘制图形。比从外部管理的任何东西都要快。如果您的应用程序打开新窗口,则只会出现一个问题。然后你将不得不手动实现窗口切换。 – Dalen

+0

如果Q中的显示器被注册为鼠标,则它将以文本模式工作。有或没有ncurses。 – Dalen

0

1. 禁用图形界面即停止运行桌面管理器。 在Raspbian上,你可以使用raspiconfig来做到这一点。

2. 设置自动登录到bash的

3. 座startx的自动运行桌面管理器

4. 添加您的应用从.bash_rc进行自动登录时启动。

要设置自动登录首先创建一个名为自动登录的,做/ bin目录脚本:

#! /bin/bash 
/bin/login -f pi 

注:pi是在raspbian的用户,将不会要求输入密码时须藤-ING。

要使用创建的脚本编辑/ etc/inittab文件:

向下滚动到终端分配和改变从tty1的路线是:

1:2345:respawn:/sbin/getty -n -l /bin/autologin 38400 tty1 

请小心,IDS是匹配的旧tty1上的设置。 然后在用户的主目录(/ home/PI)加(如果它尚不存在)一个名为“.xinitrc中”仅包含:

#! /bin/bash 
cat 

这将防止X服务器从启动时调用桌面管理器。

现在添加在/ home/PI的。在.bashrc您的应用程序或更好的脚本将运行你的应用程序(末):

export DISPLAY=:0 
/home/pi/Desktop/appstart & 
startx 

而且AppStart的是:

#! /bin/bash 

# Wait a second for X server to start: 
sleep 1 
# Now X is running and we have to switch into video terminal using chvt (change virtual terminal) command 
# Graphic terminal is on Raspbian tty7 
sudo chvt 7 
# Start the app: 
python /home/pi/Desktop/myapp/myapp.py 

毕竟这是设置什么会hapen如下:

1. 您运行树莓Pi和它autologins到用户PI

2. 当它击日志执行/home/pi/.bashrc

3. .bashrc设置$ DISPLAY变量,因为目前还没有X显示器,将启动脚本作为后台作业并启动X服务器。

4. X服务器不会进入桌面管理器,因为/home/.xinitrc会停止它的步骤。

5. 启动脚本休眠一秒钟以确保X正在运行并能够将图形发送到tty7,切换到tty7以便用户不必手动执行,然后运行您的应用程序,它将显示向上。 如果你的应用程序不是图形化的,你只会看到一个很大的东西。 :D

这里的问题是你绝对应该为这个东西创建一个用户。如果您的应用程序崩溃或用户切换到tty1并终止X,则他/她在bash中登录。

取决于您需要的安全级别。你可以做很多事情来防止滥用。例如,使用fcntl更改模式tty1,以便它不能再接收键输入。 或者使用其他一些技巧,或者稍微重新安排一下这个程序,或者确保tty1运行nohup作业的所有内容,然后注销等等。

+0

感谢您的意见,这有助于我将注意力集中在一个潜在的解决方案上 - 我将不得不玩这个看看哪个最好 - Cursers不会工作,因为我将创建一个GUI,但我认为您的建议可以让我向前迈进 - 再一次,谢谢 – Kurt

相关问题