Xephyr

出自 Arch Linux 中文维基

Xephyr 是一個嵌套的 X 伺服器,作為 X 應用程式運行。

這對於解決編寫不當的應用程式可能很有用。例如,Supermicro 伺服器可以通過 java ipmi kvm 查看器應用程式進行控制。當伺服器重新啟動時,應用程式經常重新創建其窗口。它從當前窗口中竊取焦點。這種情況每分鐘發生幾次,實際上使您的工作變得不可能。同時,如何制定窗口規則來防止此類應用程式的窗口在創建時獲得焦點並不明顯,因為您希望它在首次啟動時獲得焦點。使用 xephyr 可以將這些窗口重新創建保留在單獨的窗口中,這不會竊取當前打開的窗口的焦點。

安裝[編輯 | 編輯原始碼]

安裝 xorg-server-xephyr 包, xorg-server-xephyr 已收錄於官方倉庫中,可以用 pacman 進行安裝。

運行[編輯 | 編輯原始碼]

如果希望運行一個嵌套的 X 窗口,你需要指定一個新的 DISPLAY:1

$ Xephyr -br -ac -noreset -screen 800x600 :1

這樣將會啟動一個新的 Xephyr 窗口,這個窗口的 DISPLAY 序號是「:1」。為了在這個窗口裏運行一個應用,你需要明確指定這個 DISPLAY

$ DISPLAY=:1 xterm

啟動窗口管理器[編輯 | 編輯原始碼]

如果想啟動其他窗口管理器(例如 spectrwm ),則輸入:

$ DISPLAY=:1 spectrwm

也可以通過 startx 命令讓 Xephyr 使用你的 xinitrc

 $ startx -- /usr/bin/Xephyr :1

切換用户鍵鼠焦點[編輯 | 編輯原始碼]

如果想釋放 Xephyr 窗口的聚焦,在 Xephyr 窗口中按 Ctrl+Shift 可以鎖定/解鎖鼠標指針和鍵盤輸入。

發送Alt+Tab[編輯 | 編輯原始碼]

如果使用 KDE,請創建一個窗口規則以忽略全局快捷方式。然後你可以在 Xephyr 中使用 Alt+Tab。 非KDE可以使用屏幕鍵盤 florenceAUR,也可使用xorg-xkbcomp工具修改按鍵映射。

提示和技巧[編輯 | 編輯原始碼]

Xephyr 其他有用的情況示例包括:

  1. X 應用程式或功能的測試環境,測試人員希望繼續在通常的 X 環境中工作,同時保護其他應用程式免受被測應用程式故障的影響。
  2. OpenSSH#Remote emphasize 3 settings in the sshd server configuration file for OpenSSH#X11 forwarding (over ssh). 2 of these, out of 3, are the default settings. When the ssh client can not influence the ssh server administrator to set the 3rd one, X11Forwarding, to yes, Forwarding X11 over ssh uses Xephyr as a work around to be installed in the ssh client machine.