web-dev-qa-db-ja.com

Ubuntu / Gnomeでワイドスクリーンを垂直に2つの仮想ワークスペースに分割する方法は?

私の新しいラップトップは16:9の大きな画面で、HDムービーを見ていない95%の時間に完全に活用するのは難しいと感じています。

物理画面を2つのワークスペースに分割して、一種の仮想デュアルスクリーンとして設定したいのですが。ウィンドウを手動で配置できることはわかっていますが、ウィンドウを最大化して、モニターの半分しか消費しないようにし、ポップアップダイアログを画面の半分の中央に配置したいのです。

これを行うために利用できるプラグインの種類はありますか?

26
David

あなたはあなたが望むものを達成するために ' 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.
24
akira

Lubos Lunakの「偽のxinerama」の使用に関する上記のakiraのヒントをさらに詳しく説明するために、私がそれを私に役立てた方法をここに示します。

  1. このXinerama.cファイルFake Xineramaサイト からダウンロードしました。
  2. ターミナルを開き、Xinerama.cを保存したフォルダーフォルダーに移動しました。
  3. 私は実行しました:
    gcc -O2 -Wall Xinerama.c -fPIC -o libXinerama.so.1.0.0 -shared
  4. Alt-F2と入力して、ルートとしてnautilus(gnomeファイルエクスプローラー)を開き、次のように入力します。
    gksu nautilus
  5. / usr/libに移動し、libXinerama.so.1.0.0を見つけて、そのバックアップコピーを作成しました。
  6. LibXinerama.so.1.0.0をダウンロードディレクトリから/ usr/libディレクトリにコピーし、そこに上書きしました(手順5でバックアップしたばかりなので、必要に応じて後で元に戻すことができます)。 「偽の」バージョンのファイルサイズが、私が置き換えていた「実際の」バージョン(8.6 kb)よりも大きい(12.6 kb)ことに注意することは、役立つことは明らかです。
  7. / home/daveディレクトリに.fakexineramaと呼ばれる新しいテキストファイルを作成し、これを次の場所に配置しました(1440x900の物理画面サイズに基づく)。
    2
    0 0 720 900
    720 0 720 900

Fake Xineramaを使用すると、任意の種類の仮想画面設定を定義できますが、垂直分割画面が必要です。これをモニターで実現するには、ファイルの例を見て、X x Yピクセルのサイズで、720をX/2に置き換え、900をYに置き換えます。

それでおしまい。私はログアウトして再度ログインし、稼働していた。

このmodを作成してくれたLubos Lunakに感謝し、私に指摘してくれたakiraに感謝します。

17
David

FakeXRandR と呼ばれる新しいプロジェクトができました。

これは、X11サーバーをだまして実際よりも多くのモニターがあると信じるツールです。 libXRandRとlibXineramaにフックし、特定の構成可能なモニター構成を複数の仮想モニターに置き換えます。このパッケージに付属するツールを使用して、モニターの分割方法を構成できます。

7
mperrin

これは、追加のソフトウェアなしでXRandR 1.5で実行できます。 XubuntuでfakexineramaもFakeXRandRも機能していませんが、このソリューションによってようやく画面が2つに分割されました。

モニターを分割するには、次のようにします。

  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に接続され、解像度が1920x1080に設定されていることがわかります。

  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ファイルの最後にコマンドを追加します。

4
Strachu

私は、triplehead2goを使用してかなり長い間、この正確な質問に対するソリューションを使用してきました。そのデバイスは最大3つのモニターをマージし、1つの巨大なモニターをXに報告します。

その巨大なモニターをxorg.confの仮想ワークスペースに分割する方法は次のとおりです。

Section "Device"
    # ... your other settings above
    Option         "TwinViewXineramaInfoOverride" "1280x1024+0+0, 1280x1024+1280+1, 1280x1024+2560+0"
EndSection

また、最新のnvidiaドライバーを使用している場合、それらのドライバーは上記の設定を無視するように見える独自のxinerama拡張機能を提供するため、そのデバイスセクションに以下を追加する必要があります。

Option         "NoTwinViewXineramaInfo" "true"
1
bksunday

私は偶然出会った omgubuntuに関する記事 これは、Compizコントロールパネルを使用してUbuntu/GnomeのWindowsスナップ機能を模倣するかなり簡単な方法を提供します。このWindowsスナップにより、ワイドスクリーンのデスクトップが1つになりますが、ウィンドウ自体を簡単にドッキングして、画面の半分を埋めることができます。 (それは私が最初に探していたものとは正確には異なりますが、それでもかなり便利です。)

1
David

Compizを使用している場合は、その grid plugin がより簡単で柔軟なソリューションであることがわかります。エッジに対してドラッグすると、画面の左/右半分にウィンドウを並べて表示するように設定できます。

これは、Davidのリンク先の記事で説明されているウィンドウスナップ機能です。さらに、ショートカットを設定して、ウィンドウを画面の上半分または下半分または4分の1にすることができます。

Xineramaは顕著なパフォーマンスヒットを引き起こし(すべてのXinerama画面にわたってXアクションを複製するため)、複合ウィンドウマネージャーではうまく機能しません。

0
kynan

X config ファイルを調整することでこれを実行できると確信していますが、表示設定が壊れる可能性があるだけではありません。これを試す場合は、非常に注意してください。ディスプレイ構成をバックアップし、ディスプレイを修正する必要がある場合に使用できる代替ログインがあることを確認してください。

xmonad のようなタイリングウィンドウマネージャーからさらに満足を得るか、または compiz を実行して、ウィンドウの開き方、閉じ方、タイルの仕方を制御できます。

0
DaveParillo

私にとってはうまくいきます:

2台のモニター(1280x1024 + 2048x1152)に以下を使用しました:

3
0 0 1280 1024
1280 0 1024 1152
2304 0 1024 1152
0
codeinthehole