ArchLinux での i3wm の簡単な設定と美化
まず自分の設定のスクリーンショットを見せます。私はシンプルに作ってうまくいきました。
この記事のデフォルトでは、あなたは既に基本的なarchlinuxシステムをインストールしており、デスクトップ環境の設定をしていないだけです。だから、さっきの基本的な archlinux のインストール作業はスキップしてください。
ArchLinuxの具体的なインストール方法は私のブログ(https://blog.csdn.net/r8l8q8/article/details/76516523)をご覧ください。
1. グラフィックドライバとX Window Systemのインストール
(1) グラフィックスドライバのインストール
グラフィックカードのモデルを決定する
実行します。
# lspci | grep VGA
実行します。
$ sudo pacman -S driver package
公式リポジトリにあるドライバパッケージです。
Generic ----------------------------------xf86-video-vesa
intel ----------------------------------xf86-video-intel
Geforce7±-------------------------xf86-video-nouveau
Geforce6/7-------------------------xf86-video-304xx
(2) X Window Systemのインストール
実行します。
$ sudo pacman -S xorg-server
3. ログインマネージャとi3wmをインストールする
(1) ログインマネージャ sddm をインストールします。他のログインマネージャを選択するか、ログインマネージャなしで起動することもできます。
実行する
$ sudo pacman -S sddm
$ sudo systemctl enable sddm
sddmサービスのインストールと有効化
(2) i3wmのインストール
実行する
$ sudo pacman -S i3-gaps
i3-gapsのインストール (i3-gapsはi3wmのブランチで、より多くの機能を提供します)
(3)端末のインストール
実行する
$ sudo pacman -S mate-terminal
インストールmate商品ターミナル(あなたが他の端末を選択することができ、ここでチームメイトのデスクトップ端末のインストールは、他のxterm urxvtと他の軽量端末に比べ、わずかに大きいが、簡単に設定するには、いくつかのクリックとOKをマウスを使用することができます)。
(4) 再起動
reboot
これでi3の基本的なインストールは完了です
4. 簡易美化に必要なソフトのインストールを開始
<テーブル ソフトウェア名 紹介文 コンプトン ウィンドウの透明化サポートを提供 ポリバー Windowsタスクバーに似たステータスバー、デフォルトのi3barを使用するか、別のパネルをインストールすることも可能です。 ロフィ ショートカットランチャー、dメニューもインストール可能 フェー 壁紙設定(1) 窓の透明化支援ソフトのインストール
$ sudo pacman -S compton
(2) インストールステータスバー
まずarchlinuxcnのソースを追加します。polybarはarchlinuxcnのソースの中にあります。
$ sudo nano /etc/pacman.conf
/etc/pacman.conf ファイルの最後に2行を追加します。
[archlinuxcn]
SigLevel=Never
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
(まず sudo pacman -S firefox を実行してブラウザをインストールし、この記事を開いてテキスト内の archlinuxcn のソースをコピーし、nano で ctrl+shift+v して以下を貼り付けます)
その後、以下を実行します。
$ sudo pacman -Syy
リポジトリ情報を更新する
実行
$ sudo pacman -S polybar
ポリバーのインストール
(3) 起動するためのショートカットプログラムのインストール
$ sudo pacman -S rofi
(4) 壁紙設定ソフトをインストールする
$ sudo pacman -S feh
を実行したところ
feh --randomize --bg-fill ~/Pictures/DesktopBackground
これは壁紙としてランダムに画像を切り替えます。linuxのcrontabで10分ごとに自動的に壁紙を切り替えるように設定できます。crontabのインストールと使用は簡単なので、自分でやってください。
(5) 入力方法のインストール
実行する
$ sudo pacman -S fcitx-im fcitx-configtool
入力メソッドエンジンをインストールします。
公式リポジトリにあるメソッドを入力します。
fcitx-cloudpinyin
fcitx-googlepinyin
fcitx-libpinyin
fcitx-sunpinyin
Sogou Pinyin fcitx-sogoupinyin は ArchLinuxCN リポジトリで利用可能です。
インストールするものを選択してください。
実行する
$ nano ~/.xprofile
以下を追加します。
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
5. 設定ファイルの修正
(1) i3設定ファイルの修正
実行する
$ nano ~/.config/i3/config
設定ファイルを開きます。
漢字コメント部分を修正し、元の設定ファイルに追加します
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#It will not be overwritten, so edit it as you like.
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
# i3 config file (v4)
# i3 config file (v4)
# i3 config file (v4)
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
# Set window borders, etc.
new_window none
new_float normal
hide_edge_borders both
#set window spacing
gaps inner 8
gaps outer 6
# Set screenshot shortcut ,first install mate-utils, sudo pacman -S mate-utils
bindsym $mod+p exec mate-screenshot -i
# Enable window transparency when logging in
exec --no-startup-id compton -b
#Select a random wallpaper when logging in, and put a few images under ~/Pictures/DesktopBackground
exec --no-startup-id feh --randomize --bg-fill ~/Pictures/DesktopBackground
# start polybar at login
exec --no-startup-id ~/.config/polybar/launch.sh
# Start fcitx when login
exec --no-startup-id fcitx
# Font for window titles. will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:monospace 8
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
# font pango:DejaVu Sans Mono 8
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
# Modify as you see fit.
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
exec --no-startup-id nm-applet
# Use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec i3-sensible-terminal
# kill focused window
bindsym $mod+Shift+q kill
# set the shortcut to start rofi
# start dmenu (a program launcher)
# bindsym $mod+d exec dmenu_run
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
bindsym $mod+d exec --no-startup-id rofi -show drun
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semico
(2) polybarの設定ファイルを修正する
polybar には、デフォルトの設定ファイルが /usr/share/doc/polybar/config にあります。
実行する
$ mkdir ~/.config/polybar
$ cp /usr/share/doc/polybar/config ~/.config/polybar/
ポリバー設定ファイルの追加
を実行します。
$ nano ~/.config/polybar/config
polybarの設定ファイルを開く
有線NICの場合は[module/eth]、無線NICの場合は[module/wlan]となります。
実行
$ ip link show
NICデバイスを確認し、[module/eth] または [module/wlan] のインターフェイスをNICデバイス名に設定します。
実行する
$ nano ~/.config/polybar/launch.sh
polybarの起動スクリプトを追加します。
以下のように読みます。
#! /bin/bash
# Terminate already running bar instances
killall -q polybar
# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
# Launch Polybar, using default config location ~/.config/polybar/config
polybar mybar
追加し終わったら
$ sudo chmod +x ~/.config/polybar/launch.sh
実行ファイルのパーミッションの追加
polybarの設定ファイルはほぼそのままで、透明な背景色とネットワークカードをネットワーク速度を表示するように変更し、無駄なコンポーネントを無効化しただけです。漢字のコメントは追加した部分です。
;==========================================================
;
;
; ██████╗ ██████╗ █████╗ ██████╗
; ; ╚ ╔╝ ╔════
; ██████ ╔╝ ║ ║ ╚████ ╔╝ ██████ ╔╝ ███████ ║ ██████ ╔╝
; ╚╔════╝ ║ ╚
; ╚██████╔╝███████╗ ║ ██████╔╝
╚ ═════╝╚ ══════╝╚ ═════╝ ╚════╚
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
The README contains a lot of information
;
; ==========================================================
[colors]
;background = ${xrdb:color0:#222}
;background = #222
; set the background color to be translucent
background= #b0222222
background-alt = #444
;foreground = ${xrdb:color7:#222}
foreground = #dfdfdf
foreground-alt = #555
primary = #ffb52a
secondary = #e60053
alert = #bd2c40
[bar/mybar]
;monitor = ${env:MONITOR:HDMI-1}
width = 100%
height = 27
;offset-x = 1%
;offset-y = 1%
radius = 6.0
fixed-center = false
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3
line-color = #f00
border-size = 4
border-color = #00000000
padding-left = 0
padding-right = 2
module-margin-left = 1
module-margin-right = 2
font-0 = fixed:pixelsize=10;1
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
font-2 = siji:pixelsize=10;1
modules-left = bspwm i3
;mpd music player plugin, too lazy to configure, just disable
modules-center = mpd
;component order, eth for wired network card, the following is the default settings, to remove their own use, the desktop does not have wlan so directly remove the
modules-right = filesystem xbacklight alsa pulseaudio xkeyboard memory cpu wlan eth battery temperature date powermenu
modules-right = alsa eth memory cpu date
tray-position = right
tray-padding = 2
;tray-background = #0063ff
wm-restack = bspwm
wm-restack = i3
;override-redirect = true
scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev
;scroll-up = i3wm-wsnext
scroll-down = i3wm-wsprev
cursor-click = pointer
cursor-scroll = ns-resize
[module/xwindow]
type = internal/xwindow
label = %title:0:30:... %
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-prefix-underline = ${colors.secondary}
label-layout = %layout%
label-layout-underline = ${colors.secondary}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-background = ${colors.secondary}
label-indicator-underline = ${colors.secondary}
[module/filesystem]
type = internal/fs
interval = 25
mou
interval = 1
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #f90000
label =CPU %percentage:2%%
[module/memory]
type = internal/memory
interval = 1
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #4bffdc
label =RAM %percentage_used%%
;wireless network card device
[module/wlan]
type = internal/network
Please set the interface to your own NIC name
interface = net1
interval = 3.0
format-connected = <ramp-signal> <label-connected>
format-connected-underline = #9f78e1
label-connected = %essid%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
ramp-signal-0 =
ramp-signal-1 =
ramp-signal-2 =
ramp-signal-3 =
ramp-signal-4 =
ramp-signal-foreground = ${colors.foreground-alt}
;Wired NIC
[module/eth]
type = internal/network
;Please set the interface to your own NIC name;
interface = enp34s0
interval = 2.0
format-connected-underline = #55aa55
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt}
;label-connected = %local_ip%
; Seconds to sleep between updates
; Default: 1
; interval = 3.0
; Test connectivity every Nth update
A value of 0 disables the feature
; NOTE: Experimental (needs more testing)
Default: 0
;ping-interval = 3
; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%)
Minimum output width of upload/download rate
Default: 3
udspeed-minwidth = 5
Accumulate values from all interfaces
; when querying for up/downspeed rate
Default: false
accumulate-stats = true
Consider an `UNKNOWN` interface state as up.
Some devices like USB network adapters have
some devices like USB network adapters have; an unknown state, even when they're running
Default: false
unknown-as-up = true
Available tags:
; <label-connected> (default)
; <ramp-signal>
format-connected = <label-connected>
; Available tags:
; <label-disconnected> (default)
format-disconnected = <label-disconnected>
; Available tags:
; <label-connected> (default)
<label-packetloss>
; <animation-packetloss>
format-packetloss = <animation-packetloss> <label-connected>
; All labels support the following tokens:
; %ifname% [wireless+wired]
%local_ip% [wireless+wired] ; %local_ip% [wireless+wired]
%local_ip6% [wireless+wired] ; %essid% [wireless+wired]
%essid% [wireless]
%signal% [wireless]
%upspeed% [wireless+wired] ; %downspeed% [wireless+wired]
%downspeed% [wireless+wired] ; %downspeed% [wireless+wired]
%linkspeed% [wired] ; %linkspeed% [wired]
; Default: %ifname% %local_ip%
label-connected = %downspeed:9%
label-connected-foreground = #eefafafa
Default: (none)
label-disconnected = not connected
label-disconnected-foreground = #66ffffff
Default: (none)
label-packetloss = %essid%
label-packetloss-foreground = #eefafafa
; Only applies if <ramp-signal> is used
ramp-signal-0 = ????
ramp-signal-1 = ????
ramp-signal-2 = ????
ramp-signal-3 = ????
ramp-signal-4 = ????
ramp-signal-5 = ????
; Only applies if <animation-packetloss> is used
animation-packetloss-0 = ⚠
animation-packetloss-0-foreground = #ffa64c
animation-packetloss-1 = ????
animation-packetloss-1-foreground = #000000
; Framerate in milliseconds
animation-packetloss-framerate = 500
;format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.fore
ここで、基本的な構成の美化が完了します。
6. 一般的なソフトをインストールする
これは、行にインストールする自分の好みに応じて、いくつかのより多くの人々は、i3ウィンドウマネージャ、ほぼすべての他のソフトウェアの軽量化を使用して、フェチをきれいにしたり、ちょうどgtkのないqtの使用。以下は、一般的に使用されるソフトウェアの私の個人的なインストールです。
<テーブル ソフトウェア名 説明 カハ mateデスクトップのデフォルトのファイルマネージャー エングランパ mate デスクトップのデフォルトの圧縮マネージャ マテカルク 電卓 電子ブック 画像ビューア mate-utils ディスク容量表示、スクリーンショット、ファイル検索などのツールを提供します。 システムモニター チームメイトのデスクトップ用タスクマネージャー(システムモニターまたは1つのコマンドのみ
$ sudo pacman -S mate-extra
Mateデスクトップ用の共通ツールおよびソフトウェア一式をインストールします。
その中でも、カジャ用ファイルマネージャー、ロフィの検索ができない、mate-system-monitor(タスクマネージャー)などの個別のmateツールやソフトは、i3設定ファイルにショートカットキーを設定して起動することをお勧めします。例:ファイルマネージャー、あなたは、i3設定ファイルに追加することができます。
# Set the file manager shortcut key
bindsym $mod+m exec caja
ファイルマネージャーを開くためのショートカットです。
次のようにOh-My-Zshをインストールすることによって、端末を美化することができ、BaiduまたはOh-My-Zsh公式ウェブサイトをご覧ください、それは簡単です。
Oh-My-Zshを簡単に使用した後
7. 最後に自分の好きな壁紙を貼る
ダウンロードリンク: https://download.csdn.net/download/r8l8q8/12090544
関連
-
Racer版 - CentOS7システムインストールと構成図のチュートリアル
-
アクセスが拒否されました。PROCESS 特権が(少なくとも1つ)必要です。
-
linuxのインストールファイルでは、configure: error: no acceptable C compiler found in $PATH errorが表示されます。
-
時間問題をたくさん出してくれた人たち(連続更新)
-
[エラーログ】シェルスクリプトによって報告された曖昧なリダイレクトを解決する
-
変数 `xxx' の解は、初期化子を持っているが型が不完全である。
-
警告: 組み込み関数 'exit' の非互換な暗黙の宣言
-
ImportError: pkg_resources という名前のモジュールがない ソリューション
-
ImportError: Flaskという名前のモジュールがなく、パッケージのインポートに失敗しました。
-
Linuxでプログラム実行時にTextファイルがビジーになる問題の解決方法です。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
undefinedmakefile のエラー *** セパレータがありません。
-
undefinedlinuxでは127.0.0.1、 : では0.0.0.0です。
-
[Linux] [コンパイル] libmpc.so.3: cannot open shared object file: そのようなファイルまたはディレクトリはありません
-
MySQL5.7 のパスワード変更で ERROR 1054 (42S22) が発生しました。fie'内の不明なカラム'password'が見つかりません。
-
変数 "xxx" はイニシャライザを持ちますが、型は不完全です。
-
プログラム下部の2つのスイスアーミーナイフをこじ開ける
-
PackagesNotFoundError: 以下のパッケージは、現在のチャネルから利用できません。
-
シェルスクリプトに$0, $? , $! , $$, $*, $#, $@ などのシェルスクリプトとlinuxコマンド実行時の戻り値の意味
-
Linuxでビジー状態のテキストファイルでプログラムを実行する場合の対処法
-
Ansibleの通常ユーザーsudoがコマンドを実行します。