當前位置: 首頁>>技術教程>>正文


如何在Ubuntu/Gnome上將寬屏垂直拆分為兩個虛擬工作區?

, , ,

問題描述

我的新筆記本電腦有一個16:9的大屏幕,我發現在95%的時間內我沒有在上麵觀看高清電影時,很難充分利用它。

我想通過將物理屏幕拆分為兩個工作區來將其設置為一種虛擬雙屏幕。我知道我可以手動安排窗口,但是我希望能夠最大化一個窗口,使其隻消耗一半的監視器,並且將彈出對話框的中心放在其half-screen上,這是一件好事。

是否有某種插件可以做到這一點?

最佳回答

您可以使用“ fakexinerama”實現所需的目標:

 Fake Xinerama is a replacement libXinerama library that instead 
 of querying the XServer reads ~/.fakexinerama and provides fake 
 information about Xinerama screens based on this file. It can be 
 used to fake a Xinerama setup even on computers with just one monitor
 or to fake Xinerama setup other than one specified in the XServer 
 configuration (e.g. making one screen smaller when using two same 
 screens). It's probably only useful for developers.

次佳回答

為了進一步擴展akira的使用Lubos Lunak的”fake xinerama”的技巧,以下正是我如何使其適用於我的方法:

  1. 我從Fake Xinerama site下載了this Xinerama.c file

  2. 我打開一個終端,然後導航到保存Xinerama.c的文件夾文件夾。

  3. 我執行了:gcc -O2 -Wall Xinerama.c -fPIC -o libXinerama.so.1.0.0 -shared

  4. 我以根用戶身份打開Nautilus(gnome文件瀏覽器),方法是輸入Alt-F2,然後輸入:gksu nautilus

  5. 我導航到/usr /lib,找到libXinerama.so.1.0.0並對其進行了備份。

  6. 我從下載目錄中將libXinerama.so.1.0.0複製到了/usr /lib目錄中,覆蓋了該副本(我在第5步中剛剛備份了該副本,因此以後可以根據需要撤消此操作。)事情很清楚,有一點要注意,”fake”版本的文件大小(12.6 kb)比我要替換的”real”版本的文件大小(8.6 kb)大。

  7. 我在/home /dave目錄中創建了一個名為.fakexinerama的新文本文件,並將其放入其中:(基於1440×900的物理屏幕尺寸)2
    0 0 720 900
    720 0 720 900

Fake Xinerama允許您定義所需的任何類型的虛擬屏幕設置,但我隻需要垂直分割屏幕。為了在顯示器上實現這一點,請看我的文件示例,將X乘以Y像素,將X /2替換為720,將Y替換為900。

而已。我注銷並重新登錄,然後啟動並運行。

再次感謝Lubos Lunak創建了這個mod,並感謝akira向我指出了它。

第三種回答

現在有一個名為FakeXRandR的新項目,可以直接進行。

This is a tool to cheat an X11 server to believe that there are more monitors than there actually are. It hooks into libXRandR and libXinerama and replaces certain, configurable monitor configurations with multiple virtual monitors. A tool that comes with this package can be used to configure how monitors are split.

第四種回答

無需其他軟件即可在XRandR 1.5中完成。雖然fakexinerama和FakeXRandR都沒有在Xubuntu上為我工作,但此解決方案最終將屏幕分成了兩部分。

要拆分監視器,請執行以下操作:

  1. 在終端中輸入xrandr以檢查輸出名稱和您要拆分的顯示器的當前分辨率。在我的係統上,結果是:

    Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
    HDMI1 disconnected (normal left inverted right x axis y axis)
    HDMI2 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 509mm x 286mm
       1920x1080     60.00*+  50.00    59.94
       1920x1080i    60.00    50.00    59.94  
       1600x900      60.00  
       1280x1024     75.02    60.02  
       1152x864      75.00  
       1280x720      60.00    50.00    59.94  
       1024x768      75.08    60.00  
       800x600       75.00    60.32  
       720x576       50.00  
       720x576i      50.00
       720x480       60.00    59.94
       720x480i      60.00    59.94
       640x480       75.00    60.00    59.94
       720x400       70.08
    VGA1 disconnected (normal left inverted right x axis y axis)
    VIRTUAL1 disconnected (normal left inverted right x axis y axis)
    

    我們可以看到我的顯示器已連接到HDMI2,並且分辨率設置為1920×1080。

  2. 使用xrandr --setmonitor命令添加2個虛擬監視器,以確保它們與您的物理顯示器重疊並且彼此相鄰放置。該命令的語法為(不帶引號):

    xrandr --setmonitor "monitor_name" "width_px"/"width_mm"x"height_px"/"height_mm"+"x_offset_px"+"y_offset_px" "output_name" 
    

    對於我的係統,它是:

    xrandr --setmonitor HDMI2~1 960/254x1080/286+0+0 HDMI2
    xrandr --setmonitor HDMI2~2 960/255x1080/286+960+0 none
    
  3. 盡管上麵已經在我的係統上配置了虛擬監視器,但是直到我執行完之後才應用更改(它似乎刷新了xrandr):

    xrandr --fb 1921x1080
    xrandr --fb 1920x1080
    

要在重新啟動後保留更改,您需要在登錄時執行以下命令。您可以通過在~/.profile文件末尾附加命令來實現。

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/11138.html,未經允許,請勿轉載。