Keyboard

使用/抓取唯一沒有本地登錄使用者的鍵盤

  • December 4, 2014

我有一個執行一些需要使用者互動的軟體(我有原始碼)的樹莓派,並且有一個只有 3 個鍵的特殊(USB)鍵盤。該程序在幀緩衝區(SDL)上執行並遠端啟動;我需要這個程序對按鍵做出反應,但如果使用者沒有在本地登錄,這似乎是不可能的。

我能做些什麼?解決方案一定不能佔用大量資源,延遲應該在300ms以內。

典型的案例是在 4-8 小時內每 10 分鐘按一次鍵,但也可以像每 2 秒按一次鍵一樣頻繁(極不可能)。這一切都在 raspbian 之上執行,我有 root 訪問權限。

我通過讀取原始輸入設備並將其解析為類似於https://stackoverflow.com/a/2554421/3530257來解決這個問題

安裝 openssh-server(在 RPi 上)

apt-get install openssh-server

您可能希望將 ssh 與-X交換機一起使用(來自另一台主機)

ssh -X <username>@<IP_of_Rasperry_Pi>
[Enter password when prompted]

連接後,您的提示應該已更改為您在樹莓派本地登錄時看到的提示。

連接後,執行epiphany &Raspbian 隨附的預設 Web 瀏覽器並將其顯示在客戶端電腦(不是 Raspberry Pi)上,然後導航到執行相關程序的網站,然後打開它。

你可以附上一個

$$ normal $$鍵盤到 Pi,然後通過按 切換到多使用者模式(無圖形)Ctrl + Alt + F1,以 root 身份登錄並pkill X在 tty 輸入(是的,X 需要大寫)以殺死直接連接到 pi 的顯示器上的 GUI (節省系統資源)。然後你可以 ssh 進入它(不要忘記-X選項)並打開瀏覽器(像以前一樣)。-X或者,您也可以使用 ssh(不帶開關)來終止 X 伺服器,而不是連接鍵盤。需要注意的一點是,此命令將終止 pi 上執行的所有 X 會話,包括您可能使用 ssh 建立的任何會話。 僅當可以通過遠端連接上使用的鍵盤將鍵映射到程序時,這才有效。

將 GUI 設置為在啟動時不顯示

$$ locally on the RPi $$,使用sudo raspi-config命令並按照此處給出的說明進行操作:https ://raspberrypi.stackexchange.com/a/1320 我希望這有助於解決您的問題。

引用自:https://unix.stackexchange.com/questions/171151