web-dev-qa-db-ja.com

Windows上のUbuntu上のbash上のGnome 3

Windows10のLinuxサブシステムでExplorer.exeをGnome3に置き換えることはできますか? Cgywinでチュートリアルを見たことがありますが、WSLを使用するためにそれを取得している人がいるかどうか疑問に思っていましたか?

私は問題に遭遇しました

DISPLAY=localhost:0
3
Lightly Salted

私はGnome 3をテストしたばかりですが、実行するのは簡単ではないようですが、現在、PCとラップトップにデュアルタスクバーがセットアップされており、1つのWindowsタスクバーと1つのXFCE4があります。設定方法は次のとおりです。

  • まず、WSLがセットアップされていることを確認します。
  • 次に、Windows側に VcXsrv をインストールします。これは、WSLからのグラフィック出力を表示するために使用されます。
  • 次に、WSLにVcXsrvをポイントするように指示して、この実行を実行する必要があります。_echo "export DISPLAY=:0.0" >> ~/.bashrc_このファイルは、bashの起動時に読み取られます。
  • これを実行するには、bashで_Sudo sed -i 's$<listen>.*</listen>$<listen>tcp:Host=localhost,port=0</listen>$' /etc/dbus-1/session.conf_を実行するだけで解決できるdbusの問題もあります。
  • これが完全に機能することをテストして、XLaunch(VcXsrvの一部)を起動し、「複数のウィンドウ」を選択して、ディスプレイ番号として0を入力します。 [次へ]を2回クリックして終了します。
  • テストするグラフィカルなものを実行し、xeyesを試してください(最初にx11-appsをインストールする必要があるかもしれません:_Sudo apt-get install x11-apps_)
  • 出来た?これで、デスクトップを実行する必要があります。XFCE4の手順を示しますが、Unityが機能していることを確認しており、LXDEが機能するはずです。 (シナモンにはGnomeに似ているように見える複数の問題があることを知っています)
  • 実行:_Sudo apt-get install xfce4_
  • それが完了したら、_xfce4-session_を実行し、少し待ってください。パネルについて尋ねるポップアップが表示されるはずです。XFCE4に慣れていない限り、デフォルトの構成を選択することをお勧めします。
  • これで問題がなければ、準備がほぼ整っています。新しいタスクバーを配置して構成してください。
  • 次に必要なのは、新しいタスクバーの下でウィンドウを最大化する方法です。これには、私が使用した Desktop Coral を使用しています。 、6か月ごとに新しいキーを取得する必要がありますが、しばらくするとライフタイムキーを取得します。これを使用したくない場合は、画面スペースを予約できるプログラムを探してください。
  • それが設定されたら、パネルが配置されるのと同じスペースを予約するように構成し、ウィンドウがその下に描画されていないことを確認します。満足したら透過モードオプションにチェックを入れます
  • これをすべてシームレスに「正常に動作する」ようにする必要があります。DesktopCoralは起動時にすでに実行されているので、それについては説明します。起動時にbashとXFCE4を実行するには、Windows側にスクリプトが必要です。テキストエディターを起動し(メモ帳で実行できます)、これを貼り付けます。

    _set ws=wscript.createobject("wscript.Shell")
    ws.run """C:\Program Files\VcXsrv\vcxsrv.exe"" :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl",0
    WScript.Sleep 500
    ws.run "C:\Windows\System32\bash.exe -c 'export DISPLAY=:0.0; xfce4-session'",0
    _
  • これにより、Xサーバーとデスクトップ環境が一度に起動し、_<somewhere important>/<whatever>.vbs_として保存します。

  • このスクリプトをテストするには、VcXsrvを終了し、スクリプトをダブルクリックして少し待ちます。新しいタスクバーが表示されます。
  • 起動時にこれを実行する必要があるので、タスクスケジューラを起動し、[アクション]-> [基本タスクの作成...]に移動します。
  • タスクに名前を付け、[次へ]をクリックして、[ログオン時]を選択します。 [次へ]を2回クリックして、スクリプトを入力するか参照します。 [次へ]をクリックし、最後に[完了]をクリックします。
  • 最後に、再起動して動作するかどうかを確認します。

これにより、Windows内でほぼ機能するLinux環境が得られます。これは完璧ではありません(スクリーンセーバーをオフにする必要があるかもしれません)が、機能します。 Explorerを置き換える方法はまだわかりません。新しいタスクバーから実行するプログラムはXFCE4のプログラムではなくWindowsのタスクバーに表示されるため、これは不可能だと思います。

余談ですが、XFCE4の見栄えの悪さに気を取られることはありません。完全にテーマ設定が可能で、豊富な組み込みテーマが用意されており、ダウンロードが可能です。

最後の注意点の1つは、このタスクバーは全画面ウィンドウの上に描画されることです。現在 TurboTop を使用して、必要なときにこれをオフにしています。特にエレガントなので、解決策として この質問 に注目してください。

5
Owen Tourlamain

ちなみに、あなたがする必要があるのは:

apt update && apt upgrade -y && apt install xfce4 x11-apps lightdm

その後、

xfce4-session --display=0:0

Windowsでxmingまたはvcxsrvなどを使用していることを確認してください

1
Ricky Neff

それは不可能だと思います。

Explorer.exeはWindowsのシェルです。 Explorer.exeは、認証が成功した後でWinLogonによって起動されます。 WinLogonは、ここでShellレジストリキーを調べることにより、それをシェルとして識別します。

 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

あなたが話しているcygwinメソッドはこれだと思います(この古代のメソッドはクイック検索でしか見つけることができませんでした): https://marc.info/?l=kde-cygwin&m=103072530327420&w=2 =

見てわかることから、上記で指定したレジストリキーのExplorer.exec:\cygwin\bin\bash --login -c startxに置き換えるだけです。

つまり、ログインするとWindowsエクスプローラーが起動せず、bashが起動してXサーバーが起動します(つまり、KDE ​​[またはGNOME]が起動します)。さて、ここで何が起こるかを分析してみましょう。

まず、Windows Explorerはありません。タスクマネージャーからすべてのExplorer.exeプロセスを強制終了したことがある場合は、画面に何も表示されないことに気づいたかもしれません。開いているウィンドウを処理するExplorer.exeがないため、いくつかのアプリケーションを開いている場合、最小化しても画面に表示されます。

現在、起動されたbash(およびGNOME)は(ゲームのように)全画面アプリケーションです。これは、通常のウィンドウマネージャーと同じように実行され、ファイルを参照し、(独自の)タスクバーや通知領域などを備えています。しかし、結局のところ、これはnotepad.exe(もちろんフルスクリーンを除いて)。上記のリンク自体は、これを示唆する何かを述べています:

注:ここからWindowsプログラムを実行する場合は、Windows 2000ではCtrl-Shift-Escを押してタスクマネージャを起動し、[ファイル]/[実行]に移動します。

タスクマネージャーを起動すると、全画面モードが終了し、タスクマネージャーがGNOMEインターフェースの「内部」ではなく「上部」に表示されます。

ログアウトに関しては、これは言及されています:

KDEからログアウトしても実際にはログアウトされません。別の方法でKDEを閉じ、Ctrl-Alt-Delを押してログアウトを選択する必要があります。 .xserverrcパラメータに応じて、Ctrl-Alt-BackspaceまたはAlt-F4を実行してXサーバーを閉じることができます。それ以外の場合は、タスクマネージャから閉じることができます(Cygwinタスクを選択して、「タスクの終了」と言います)。

したがって、ログインするとGNOMEインターフェイスが表示され、ショートカットを使用してWindowsアプリケーションを起動するための面倒なハックをすべて適用する可能性がありますが、これはExplorer.exeの代わりではありません

0
PrashantKumar96