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


23

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

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

これを行うために使用可能なプラグインの種類はありますか?


compizを使用している場合、グリッドプラグインの方がわかりやすいかもしれません。以下の回答を参照してください。
kynan

回答:


24

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

1
おかげで、これは完全に機能し、実際に期待していたよりも優れています。ドック、パネルバー、フローティングウィンドウは物理画面にまたがっていますが、最大化された「フルスクリーン」アプリ(vmwareゲストインスタンスを含む)は画面の半分に丁寧に保持されます。私はLinuxにかなり慣れていないので、ディスプレイの設定をハッキングするのは少々危険だと感じましたが、実際にはそれほど多くの作業は必要ありません。 以下の追加の回答で、他のLinuxアマチュア(自分のような)に対する正確な手順を文書化しています。
デイヴィッド

2
リンクが壊れています。このソフトウェアをどこで見つけることができますか?
マキシム

17

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

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

それでおしまい。私はログアウトしてからログインし直しました。

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


これは、3ヘッドディスプレイで大いに役立ちました。Xineramaは3つのデスクトップでかなり遅いので、これを使用すると、2つの問題をツインビューに入れることができます。時間をかけてDavidの手順を書いてくれてありがとう!
カイルブラント

7

現在、FakeXRandRと呼ばれる新しいプロジェクトがあり、これは本当に簡単に機能します。

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


時々fakexrandrを正常に使用しました。残念ながら、xorg.confを持っていると、画面がスクランブル化されます(これは、ウルトラワイドモニターのカスタム解像度に必要です)。fakexrandrの設定を削除し、Xを再起動し、fakexrandrを再設定する必要があります。
JAponte

3

これは、追加のソフトウェアなしで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ファイルの最後にコマンドを追加することにより、これを行うことができます。


1
xrandrに存在するのは良いことです。しかし、モニターの左側のみが使用可能になり、右側には何も表示されません。そして、エラーは表示されません。-ああ、Awesome WMはモニターをサポートしておらず、出力のみを使用しているようです。したがって、WMでもサポートが必要です。
18

ああ、気にしないで、awesomeはxrandrのモニターをサポートしていますが、私にはうまくいきませんでした。しかしawesomeはこれを単独で行うことができます:awesomewm.org/apidoc/classes/screen.html#screen
nert

1

私が出会ったomgubuntuの記事 Compizのコントロールパネルを使用してのUbuntu / GNOMEで模倣Windowsのスナップ機能にはかなり簡単な方法を提供します。このWindowsスナップを使用すると、ワイドスクリーンデスクトップが1つ残りますが、ウィンドウ自体を簡単にドッキングして、いずれかの半画面に表示できます。(それはもともと私が探していたものではありませんが、それでもかなり便利です。)


1

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"

0

X構成ファイルを微調整することでこれを実現できると確信していますが、おそらくディスプレイ構成が壊れるからといってそうではありません。これを試す場合は、設定を表示するバックアップを慎重に行い、表示を修正する必要がある場合に使用できる代替ログインがあることを確認してください。

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


0

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

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

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

0

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

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.