2017-05-25 31 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

相關問題