実行中のデスクトップセッション内でデスクトップ環境を即座に切り替える


16

あるデスクトップ環境と別のデスクトップ環境を即座に(できればコマンドラインから)切り替える方法はありますか。たとえば、同じデスクトップセッションで実行中のアプリケーションを閉じる必要なく、Unityから従来のGNOMEまでですか?

(環境のインストールに関するものではないことに注意してください。)


2
さんがこれまでのUbuntuなどとして、正式な答えをステップアップが、私の気持ちはそれが誰であるかを確認し、公式の味が行く、あなたがログアウトして再度ログインする必要がありましょう。/と呼ばれるものでありましたHybryde融合13.04関連のオファー何かに思えますしかし、それはここではトピック外です。

いくつか提供しているようだというええHY-D-V1デスクトップ環境を..外観はかなり近いGNOME3になるようだが、私はそれがより良い体験を提供願っています。..
精密

そして、ゾリンも似たようなものを提供すると思います。それもOT:Dになります。デスクトップのない純粋なOpenboxセッションで十分だと判断しました;)

回答:


11

WMキーバインディングを探していて、manページを読んでいたとき、いいトリックを見つけました。

man dm-tool

dm-tool LightDMディスプレイマネージャーと通信するためのツールです。

   list-seats
          List the active seats and sessions that are running.

   add-nested-seat
          Start an X server inside a session and connect it to a display manager.

   add-local-x-seat DISPLAY_NUMBER
          Connect an existing X server to the display manager.

   add-seat TYPE [NAME=VALUE...]
          Add a dynamic seat.
  • 実行:

    $ dm-tool add-nested-seat
    /org/freedesktop/DisplayManager/Seat2
    

    更新:新しいリリースでは、新しいウィンドウのサイズを制御し--fullscreenたり--screen XxY、パラメーターを追加したり、を参照してフルスクリーンにしたりできますdm-tool --help

  • 新しいセッション(タイトルXephyr on)で新しいウィンドウが表示されました:

    ここに画像の説明を入力してください

  • 次に、他のデスクトップ(LXDE)を使用してログインします。

    ここに画像の説明を入力してください

  • を入力して、新しいセッションでマウスとキーボードをキャプチャするかどうかを切り替えることができますCtrl-Shift

  • 座席リストを確認してください:

    $ dm-tool list-seats
    Seat2
      CanSwitch=false
      HasGuestAccount=true
      Session2
        UserName='sneetsher'
    Seat0
      CanSwitch=true
      HasGuestAccount=true
      Session0
        UserName='sneetsher'
    

  • 全画面で実行するには:

    Xephyr :1 -br -fullscreen &
    dm-tool add-local-x-seat 1
    

参照:Using_Xephyr


それはまさに私が探しているものではないのですが、Xephyr唯一の..以上+1について知るための良いツールですdm-tool add-nested-seatと指定された解像度やフルスクリーンで起動することはできません、私のために働いているようだXephyr...とシャットダウンスレーブXを閉じません。閉じるボタンをクリックする必要があります(
正確に

dm-tool add-nested-seatいくつかのデフォルトでXephyr動作するdm-toolため、新しいディスプレイでフルスクリーンとして実行し、そのディスプレイで実行します。「シャットダウンはスレーブXを閉じません」それはシステムの視覚化ではないが、より良い方法があるかどうかわからないからです。そのセッションは、Alt + F4で任意のウィンドウとして閉じることもできます。また、Alt + Tabのウィンドウとして切り替えることができます。
user.dz 14

2
その間のDM-ツールが更新されました、それは今のオプションを受け付け--fullscreenたり--screen 800x600ので、これを達成するために直接Xephyrでを実行するために、常におそらく必要はありません。入力dm-tool --helpして、文書化されていることを確認します。(manページは、おそらく新しいオプションで後で更新されます。)
mit

7

これは仮説的な答えですが、おそらくこのテーマについてより多くの知識を持っている人が私の声明に基づいて構築できます。異なるxserver出力で実行される場合は、単にCtrl+ Alt+ F1Ctrl+ Alt+ F2、...などを押すだけでそれらを切り替えることができます。どこF1X1は、F2X2、...などがあります。コマンドは次のようなものになると思います。

  1. ターミナルタイプ: sudo xhost +

    xの出力のいずれかへのアクセスを許可したばかりであるため、これはセキュリティ上のリスクをもたらすことに注意してください。

  2. Ctrl+ Alt+F1

    これにより、X出力1に移動します。デフォルトのデスクトップはf7です

  3. タイプ: export DISPLAY=localhost:1

    1はx出力1であるため、デフォルトは0であり、追加の出力には、より高い数値を使用します(例:2,3,4など)。

  4. タイプ:startxfce4(XFCE)、startkde(KDE)またはstartlxde(LXDE)は、デスクトップが新しいX出力に開くように取得します。

これはまだうまくいきません。別のユーザーとして実行する必要があるからだと思います。試してみると、デスクトップがすでに他のローカルホストで実行されていると表示されるからです。これは私がこれで得られた限りです。


1
試してみましたが、Gnome / Unityしかありません。startxうまくいきませんでした。それで、私はそれをバックグラウンドstartx &で実行し、動作し、tty8(Ctrl + Alt + F8)で同じユーザーと新しいgnome(私のデフォルト)セッションを作成しました。sudo xhost -なぜ同じユーザーでも同じように試しましたが、それも機能します。ログアウトすると、tty1に戻ります。
user.dz 14

2

別の視点

別のユーザーに対して、別のxsessionを実行することができます。

新しいユーザーを作成するだけ

sudo useradd test_test

これで、アカウントをロックする必要がありますCtrl+ Alt+ L、次に新しい追加ユーザーに切り替えてログインします。ログインメニューでは、インストールされているデスクトップ環境から選択できます。

新しいttyで新しいxsessionを自動的に開始します。私にとってはそうですtty8Ctrl+ Alt+ を使用F7して、ユーザーxsessionに戻ることができます。Ctrl+ Alt+ を使用しF8て、新しいユーザーxsessionに戻ります。


1
単純だということをユーザー間でアカウントを切り替え ...私は私のアプリケーションでは、スイッチ間でその状態を維持する必要があり、同じセッションで別の環境に変更する方法を探しています...
精密

1
これは、一度に1つのコンパートメントに集中することで生産性を高めるために私が探していたものです。
バナゴ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.