Linuxでbspwmをインストールおよび構成する方法
Binary Space Partitioning Window Manager(bspwm)は、Linux用の強力なミニマリストウィンドウマネージャーです。高度に構成可能であり、ウィンドウ管理への革新的なアプローチを提案します。 BspwmはCで記述されており、任意の言語を使用して構成できます。 Bspwmは、ウィンドウマネージャーでのユーザーのカスタマイズの縮図です。これにより、独自のワークフローを作成する方法を学びたいと考えているパワーユーザーやいじくり回しに魅力的です。
バイナリ空間分割、説明
バイナリスペース分割は、デスクトップのウィンドウを完全なバイナリツリーのリーフとして表すことができるという考え方です。完全な二分木は、階層ノードを使用して情報を並べ替える構造です。そのツリー内の情報は2つにソートされ、ルートノードには常に2つのノードが含まれます。
Bspwmはノードで動作します。実際には、空のデスクトップにウィンドウを作成すると、bspwmは、そのウィンドウを配置するための単一のノードを作成します。そのノードは、リーフノードと考えることができます。ただし、そのデスクトップに追加のウィンドウを作成すると、そのリーフノードがルートノードになり、bspwmはそれに接続された2つの新しいリーフノードを作成します。次に、現在のウィンドウと新しく作成されたウィンドウをそれらのリーフノードに配置します。
この後に作成される新しいウィンドウは、これらのリーフノードのいずれかに関連付けられ、それぞれのルートノードに変換されます。
このようにウィンドウを配置すると、デスクトップ内に明確な階層が作成されます。どのリーフノードが最初に生成され、どのリーフノードがルートノードの特定のグループからのものであるかは明らかです。これは、特定のウィンドウおよびウィンドウレイアウトのカスタム動作ルールを作成するときに役立ちます。
bspwmはウィンドウのみを管理することに注意することが重要です。これは、ウィンドウの管理に関連しない他の関数がbspwmパッケージに含まれていないことを意味します。これには、キーを関数にバインドする機能と、ステータスバーを表示する機能が含まれます。
bspwmでキーバインディングを使用するために、開発者は、キーバインディングのみを管理するSimple X Hotkey Daemon(sxhkd)と呼ばれる別のプログラムを作成しました。ただし、ステータスバーの場合、ユーザーはポリバーやレモンバーなどのさまざまなサードパーティアプリケーションをインストールできます。
bspwmとsxhkdのインストール
bspwmとsxhkdのインストールは比較的簡単です。どちらのプログラムも、ほとんどのLinuxリポジトリで利用できます。たとえば、DebianとUbuntuにそれらをインストールするには、apt
を使用してインストールできます。 :
sudo apt install bspwm sxhkd
Arch Linuxでは、pacman
を使用できます :
sudo pacman -Syu bspwm sxhkd
Fedoraでは、dnf
を使用できます :
sudo dnf install bspwm sxhkd
Void Linuxの場合、xbps
を使用できます :
sudo xbps-install bspwm sxhkd
私の場合は、Void Linuxシステムにインストールするので、XBPSを使用します。
bspc:bspwm用のユニバーサルコントローラー
bspwmを使用するには、bspcという1つのプログラムと対話するだけで済みます。これは、bspwmの動作を制御および構成できる強力なユーティリティです。実際、ウィンドウを操作してその動作を構成するために使用するすべてのコマンドは、単なるbspcコマンドです。
bspwmの構成ファイルの準備
bspwmの構成を開始するには、最初に構成ファイルを作成する必要があります。これは、bspwmが最初の実行時に実行するbspcコマンドを探す場所です。デフォルトでは、bspwmは「/home/$USER/.config/bspwm/bspwmrc」ファイルを検索します。そのファイルを作成するには、次のように入力します。
mkdir -p /home/$USER/.config/bspwm && touch /home/$USER/.config/bspwm/bspwmrc
このコマンドは、「/ home / $ USER / .config /」にbspwmフォルダーを作成し、そのフォルダー内にbspwmrcファイルも作成します。
これで、bspwmrcファイルは、実行可能である限り、任意の言語で書き込むことができます。これは、最初にそのファイルプロパティをそのように設定する必要があることを意味します。これを行うには、次のように入力します。
sudo chmod 774 /home/$USER/.config/bspwm/bspwmrc
これにより、私たちとユーザーグループの誰もがこのファイルを実行できるようになります。
その後、bspwmrcファイルを開くことができます。私の場合、vimを使用して構成ファイルを編集します。そのために、次のように入力します。
vim /home/$USER/.config/bspwm/bspwmrc
これで空のファイルが開き、構成の書き込みを開始できます。
bspwmの構成
bspwmの基本構成は次のようになります。
#!/bin/bash xsetroot -cursor_name left_ptr sxhkd & bspc config border_width 2 bspc config window_gap 0 bspc config split_ratio 0.62 bspc config focus_follows_pointer true bspc config pointer_modifier mod1 bspc config automatic_scheme spiral bspc rule -a Chromium desktop='^2' bspc rule -a Gimp desktop='^8' state=floating follow=on
最初の行のシバンで示されているように、この構成はBashで記述されています。最初のいくつかのコマンドは、bspwmの構成を設定する前に実行したかったプログラムです。
最初のxsetrootは、デフォルトのXカーソルをより使い慣れた左ポインターに変更します。 2つ目は、ホットキーデーモンをバックグラウンドで初期化します。
bspcconfigおよびbspcルール
構成内の次のコマンドは、bspcに固有のものです。 bspc config
ウィンドウマネージャーの一般的な構成を扱います。美的設定と機能的設定の両方が含まれています。
- border_width ウィンドウの境界線の幅の太さをピクセル単位で決定します。
- window_gap 窓の周りのギャップの量をピクセル単位で処理します。
- split_ratio 分割時の2つのリーフノード間の比率を決定します。
- focus_follows_pointer マウスポインタがどのウィンドウにフォーカスを合わせるかを制御できるかどうかを設定します。
- pointer_modifier マウスを使用してウィンドウのサイズを変更するためのキーボードキーを決定します。
- automatic_scheme 自動モードで分割したときのウィンドウのレイアウトを決定します。
一方、bspcルールは、bspwmで開いたときのプログラムの動作を処理します。
- 構成例の最初のルールは、Chromiumを2番目のデスクトップで実行するように強制します。
- この例の2番目のルールは、Gimpを8番目のデスクトップで実行するように強制します。また、Gimpをデフォルトのタイルではなくフローティング状態で実行するように強制します。最後に、ロード時にウィンドウのフォーカスをGimpに強制します。
これで、bspwmの基本構成ができました。ただし、bspc config
のオプションに注意することが重要です。 およびbpsc rule
広範です。 bspwmrcの微調整について詳しく知りたい場合は、Github Githubのドキュメントを確認して、可能なすべての設定の完全なリストを入手してください。
sxhkd:bspwmのキーバインディングユーティリティ
sxhkdは単純なプログラムです。キーボード入力イベントをリッスンし、押したキーに基づいてコマンドを実行します。コードを介してマルチキー入力を処理でき、シンプルで理解しやすい直感的な構成ファイルがあります。
sxhkdの構成ファイルの準備
sxhkdの構成ファイルの準備は、bspwmrcファイルの設定と同様です。まず、sxhkdの構成フォルダーとファイルを作成する必要があります。これを行うには、次のコマンドを入力します。
mkdir -p /home/$USER/.config/sxhkd/ && touch /home/$USER/.config/sxhkd/sxhkdrc
次に、sxhkdrcファイルを実行可能に設定する必要があります。
sudo chmod 774 /home/$USER/.config/sxhkd/sxhkdrc
完了すると、すべてのキーバインディングを挿入するためのsxhkd構成ファイルができました。
sxhkdの構成
sxhkdは、特定のパターンのキーバインディングを認識します。最初に修飾キーを要求します。これは、 Altのいずれかです。 、スーパー 、ハイパー またはコントロール 。その後、修飾キーを補完する通常のキーを提供する必要があります。次に、これら2つのキーの間に「+」記号を追加することで、キーバインディングとして組み合わせることができます。
したがって、sxhkdキーバインディングの一般的な形式は次のようになります。
modifier key + normal key (+ {_, additional, keys})
完了したら、 Enterを押す必要があります およびタブ キーバインドの下にインデントされた線を作成します。その後、キーバインドが押されたときに実行するコマンドを指定する必要があります。
sxhkdの構成ファイルの例は次のようになります。
# make sxhkd reload its configuration files alt + Escape pkill -USR1 -x sxhkd # quit or restart bspwm alt + shift + {q,r} bspc {quit,wm -r} # create a new terminal window or swap the current one to the biggest one in the screen alt + {_,shift + }Return {st, bspc node -s biggest.local} # close or kill a window alt + {_,shift + }c bspc node -{k,c} # change the window state alt + {t,ctrl + t,l,f} bspc node -t {tiled,pseudo_tiled,floating,fullscreen} # expand a window by moving one of its side outward super + alt + {h,j,k,l} bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0} # focus or send a window to the given desktop alt + {_,shift + }{1-9,0} bspc {desktop -f,node -d} '^{1-9,10}'
上で説明したように、sxhkdのキーバインド構文は比較的単純です。さらに、sxhkdはキーバインディングをグループ化でき、キーコードを使用して分岐コマンドを実行できます。
たとえば、この構成の多くのコマンドは中括弧を使用します。これにより、同様のキーバインドに複数の機能を割り当てることができます。構成で次のコマンドを検討してください:
alt + shift + {q,r} bspc {quit, wm -r}
このコマンドは、bspwmのクローズと再起動を処理します。キーバインドの中括弧は、コマンドラインにある中括弧と一致します。したがって、 Altを押すと +シフト + Q キーボードのコマンド:bspc quit
実行されます。ただし、 Altを押す +シフト + R bspc wm -r
を実行します 。
分岐時に追加のキーを提供する必要性を回避することもできます。この例を考えてみましょう:
alt + {_,shift + }Return {st, bspc node -s biggest.local}
このコマンドは、ターミナルのスポーンを処理します。また、デスクトップのウィンドウを交換します。 Alt を押すと、最初のコマンドを実行できます +入力 Altを押すと2番目のコマンドを実行できます +シフト +入力 。
これは、アンダースコア文字がキーバインドのパススルーとして機能するためです。これにより、コマンドのデフォルトのキーバインドを使用できるだけでなく、他のコマンドの「変更された」キーバインドも使用できます。
最後に、sxhkdは単一の分岐に限定されません。この例を考えてみましょう:
alt + {_,shift + }{1-9,0} bspc {desktop -f,node -d} '^{1-9,10}'
このコマンドは、デスクトップの切り替えを処理します。また、それらのデスクトップ内のウィンドウの動きを管理します。 Alt を押すと、最初のコマンドが実行されます + 1 – 0 2番目はShiftで実行されます 修飾キー。
ここでは、2つの中括弧を使用して、デスクトップのパススルーキーと番号を設定しました。これらの2つのオプションは、その下のコマンドの2つの中括弧に対応します。
これで、bspwmとsxhkdの構成についての基本的な理解ができました。最後に行う必要があるのは、ウィンドウマネージャーとしてbspwmを有効にすることです。これは、Xorgまたはディスプレイマネージャーを介して直接行うことができます。
xinitrcを使用してbspwmを実行する
bspwmを初期化する最も簡単な方法は、.xinitrcファイルに追加することです。最小限のLinuxディストリビューションを使用している場合、これはおそらくウィンドウマネージャーをロードするためにすでに使用している方法です。
これを行うには、.xinitrcの最後の行に以下を追加するだけです。
exec bspwm
ただし、Linux MintやUbuntuなどのフル機能のデスクトップを使用している場合は、ログイン画面でbspwmを選択する必要がある場合があります。
たとえば、Ubuntuのインストールでは、ログイン画面の歯車アイコンをクリックし、コンテキストメニューからbspwmを選択してロードする必要があります。
おめでとう!これで、bspwmが正常にインストールされました。構成ファイルを微調整し、サードパーティのドックをインストールすることで、デスクトップをさらにカスタマイズできるようになりました。インスピレーションを得るためにカスタマイズされたデスクトップをいくつか紹介します。
1。初めてログインしたときに画面が真っ暗になるのはなぜですか?
デスクトップの背景をまだ設定していないことが原因である可能性があります。これは、最小限のインストールを実行している場合によくあります。 fehなどの画像ビューアプログラムを使用して、背景のテーマを変更できます。
2。キーバインドが機能しないのはなぜですか?
これはおそらく2つの理由によるものです:
- sxhkdが実行されていないため、キーバインディングが読み込まれませんでした。
- sxhkdrcで構文エラーが発生しました。 sxhkdの構成で最もよくある間違いは、インデントです。コマンドを正しく初期化するには、インデントされた行にタブスペースを挿入する必要があります。
3。システムにログインすると、システムプロンプトに戻りました。
これは、いくつかの原因が考えられます。ただし、最も一般的な原因は、.xinitrcファイルの問題です。 bspwmがXorgがロードする最後のプログラムであり、バックグラウンドプロセスとして実行されていないことを確認する必要があります。
-
KaliLinuxのインストール方法
ほとんどのLinuxディストリビューションは一般ユーザー向けに設計されていますが、KaliLinuxはその1つではありません。このDebianベースのディストリビューションは、ホワイトハットハッキングやシステムテストに適したツールを必要とするセキュリティ専門家や好奇心旺盛なアマチュアに最適です。 Kali Linuxには、セキュリティテスト用に600を超えるプログラムがインストールされています。 AircrackからJohntheRipperまで、それらの最高のものが含まれています。自分のPCにKaliLinuxをインストールする方法は次のとおりです。 KaliLinuxのダウンロードとイン
-
LinuxにKodiをインストールする方法
メディアストリーミングに関しては、Kodiに勝るプレーヤーはありません。ボックスセットコレクションからライブTVまで、あらゆるものをストリーミングできます。これは、元のXboxでの謙虚な始まりとはかけ離れています。クロスプラットフォームなので、LinuxPCに問題なくインストールできます。 一部のLinuxリポジトリには、ソフトウェアパッケージの一部としてKodiがすでに含まれていますが、すべてではありません。最も人気のあるLinuxディストリビューションのいくつかにKodiをインストールする方法は次のとおりです。 UbuntuとKodiのインストール Ubuntuの最近のバージョンには、