Advertisement

手把手教你使用Linux安装i3wm桌面

阅读量:

个人 i3配置地址:https://github.com/itgoyo/i3

如果还是觉得太难,请参考视频来操作:https://www.bilibili.com/video/av60766315

成品展示

安装 i3wm

复制代码
    $ /usr/lib/apt/apt-helper download-file http://debian.sur5r.net/i3/pool/main/s/sur5r-keyring/sur5r-keyring_2019.02.01_all.deb keyring.deb SHA256:176af52de1a976f103f9809920d80d02411ac5e763f695327de9fa6aff23f416
    # dpkg -i ./keyring.deb
    # echo "deb http://debian.sur5r.net/i3/ $(grep '^DISTRIB_CODENAME=' /etc/lsb-release | cut -f2 -d=) universe" >> /etc/apt/sources.list.d/sur5r-i3.list
    # apt update
    # apt install i3
    
    
      
      
      
      
      
    
    代码解读

美化 i3

美化效果是使用 Github 的一个项目i3-gaps

项目的官方网站:https://github.com/Airblader/i3

所需要到的各种依赖

复制代码
    sudo apt install libxcb1-dev libxcb-keysyms1-dev libpango1.0-dev libxcb-util0-dev libxcb-icccm4-dev libyajl-dev libstartup-notification0-dev libxcb-randr0-dev libev-dev libxcb-cursor-dev libxcb-xinerama0-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev autoconf xutils-dev libtool 
    
    
      
    
    代码解读

安装 i3-gaps 命令

复制代码
    cd /tmp
    git clone https://www.github.com/Airblader/i3 i3-gaps
    cd i3-gaps
    git checkout gaps && git pull
    autoreconf --force --install
    rm -rf build
    mkdir build
    cd build
    ../configure --prefix=/usr --sysconfdir=/etc
    make
    sudo make install
    
    
      
      
      
      
      
      
      
      
      
      
      
    
    代码解读

在过程中你可能会遭遇缺少 lib 的情况,请我阐述解决方式

无法执行'aclocal'命令:在/usr/share/autoconf/Autom4te/FileUtils.pm文件中找不到第326行。
在尝试运行'aclocal'时出现了错误:Autoreconf未能成功启动,并提示文件或目录不存在。

解决方式:

复制代码
    sudo apt-get install automake
    
    
      
    
    代码解读

No package ‘xcb-xrm’ found

解决方式:

复制代码
    sudo apt-get install libxcb-xrm-dev
    
    
      
    
    代码解读

no Package xcb-shape

解决方式:

复制代码
    sudo apt install libxcb-shape0-dev
    
    
      
    
    代码解读

No package ‘libpcre’ found

解决方式:

复制代码
    sudo apt-get install libpcre3-dev
    
    
      
    
    代码解读

No package ‘cairo’ found

解决方式:

复制代码
    sudo apt-get install libcairo2-dev
    
    
      
    
    代码解读

No package ‘pangocairo’ found

解决方式:

复制代码
    sudo apt-get install libpango1.0-dev 
    
    
      
    
    代码解读

以下是我的 i3个人配置

配置位置:https://github.com/itgoyo/i3

复制代码
    # This file has been auto-generated by i3-config-wizard(1).
    # 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)
    #
    # Please see http://i3wm.org/docs/userguide.html for a complete reference!
    
    set $mod Mod1
    
    # 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
    
    # Before i3 v4.8, we used to recommend this one as the default:
    # font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
    # The font above is very space-efficient, that is, it looks good, sharp and
    # clear in small sizes. However, its unicode glyph coverage is limited, the old
    # X core fonts rendering does not support right-to-left and this being a bitmap
    # font, it doesn’t scale on retina/hidpi displays.
    
    # Use Mouse+$mod to drag floating windows to their wanted position
    floating_modifier $mod
    
    # start a terminal
    #bindsym $mod+Return exec i3-sensible-terminal
    #bindsym $mod+Return layout tabbed exec xfce4-terminal  #支持透明背景,打开即为tabbed布局
    bindsym $mod+Return exec xfce4-terminal  #支持透明背景
    bindsym $mod+control+t exec xfce4-terminal  #支持透明背景
    
    # 快速打开ncmpcpp
    bindsym $mod+n exec xfce4-terminal -e ncmpcpp  #支持透明背景
    # 快速shutter截图
    
    bindsym $mod+control+a exec xfce4-terminal -e shutter  #支持透明背景
    
    # kill focused window
    bindsym $mod+Shift+q kill
    
    # start dmenu (a program launcher)
    bindsym $mod+Shift+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
    
    #Rofi启动器
    bindsym $mod+Tab exec --no-startup-id rofi -show window
    bindsym $mod+d exec --no-startup-id rofi -show drun -theme andrea.rasi
    
    bindsym $mod+g exec google-chrome --proxy-server='127.0.0.1:8080'
    
    # change focus
    bindsym $mod+j focus left
    bindsym $mod+k focus down
    bindsym $mod+l focus up
    bindsym $mod+semicolon focus right
    
    # alternatively, you can use the cursor keys:
    bindsym $mod+Left focus left
    bindsym $mod+Down focus down
    bindsym $mod+Up focus up
    bindsym $mod+Right focus right
    
    # move focused window
    bindsym $mod+Shift+j move left
    bindsym $mod+Shift+k move down
    bindsym $mod+Shift+l move up
    bindsym $mod+Shift+semicolon move right
    
    # alternatively, you can use the cursor keys:
    bindsym $mod+Shift+Left move left
    bindsym $mod+Shift+Down move down
    bindsym $mod+Shift+Up move up
    bindsym $mod+Shift+Right move right
    
    # split in horizontal orientation
    bindsym $mod+h split h
    
    # split in vertical orientation
    bindsym $mod+v split v
    
    # enter fullscreen mode for the focused container
    #bindsym $mod+f fullscreen toggle
    
    # change container layout (stacked, tabbed, toggle split)
    bindsym $mod+s layout stacking
    bindsym $mod+w layout tabbed
    bindsym $mod+e layout toggle split
    
    # toggle tiling / floating
    bindsym $mod+Shift+space floating toggle
    
    # change focus between tiling / floating windows
    bindsym $mod+space focus mode_toggle
    
    # focus the parent container
    bindsym $mod+a focus parent
    
    # focus the child container
    #bindsym $mod+d focus child
    
    # switch to workspace
    #bindsym $mod+1 workspace 1
    #bindsym $mod+2 workspace 2
    #bindsym $mod+3 workspace 3
    #bindsym $mod+4 workspace 4
    #bindsym $mod+5 workspace 5
    #bindsym $mod+6 workspace 6
    #bindsym $mod+7 workspace 7
    #bindsym $mod+8 workspace 8
    #bindsym $mod+9 workspace 9
    #bindsym $mod+0 workspace 10
    #
    ## move focused container to workspace
    #bindsym $mod+Shift+1 move container to workspace 1
    #bindsym $mod+Shift+2 move container to workspace 2
    #bindsym $mod+Shift+3 move container to workspace 3
    #bindsym $mod+Shift+4 move container to workspace 4
    #bindsym $mod+Shift+5 move container to workspace 5
    #bindsym $mod+Shift+6 move container to workspace 6
    #bindsym $mod+Shift+7 move container to workspace 7
    #bindsym $mod+Shift+8 move container to workspace 8
    #bindsym $mod+Shift+9 move container to workspace 9
    #bindsym $mod+Shift+0 move container to workspace 10
    
    # #---Workspace Bindings---# #
    #bindsym $mod+Home		workspace $ws1
    #bindsym $mod+Shift+Home		move container to workspace $ws1
    #bindsym $mod+End		workspace $ws10
    #bindsym $mod+Shift+End		move container to workspace $ws10
    #bindsym $mod+Prior		workspace prev
    #bindsym $mod+Shift+Prior	move container to workspace prev
    #bindsym $mod+Next		workspace next
    #bindsym $mod+Shift+Next		move container to workspace next
    #bindsym $mod+Tab		workspace back_and_forth
    #bindsym $mod+XF86Back		workspace prev
    #bindsym $mod+Shift+XF86Back	move container to workspace prev
    #bindsym $mod+XF86Forward	workspace next
    #bindsym $mod+Shift+XF86Forward	move container to workspace next
    #bindsym $mod+semicolon		workspace next
    #bindsym $mod+apostrophe		split horizontal ;; exec $term
    #bindsym $mod+slash		split vertical ;; exec $term
    #bindsym $mod+Shift+slash	kill
    #bindsym $mod+backslash		workspace back_and_forth
    
    #set $ws1 "1"
    #set $ws2 "2"
    #set $ws3 "3"
    #set $ws4 "4"
    #set $ws5 "5"
    #set $ws6 "6"
    #set $ws7 "7"
    #set $ws8 "8"
    #set $ws9 "9"
    #set $ws10 "10"
    
     set $ws1 "1:"
     set $ws2 "2:"
     set $ws3 "3:"
     set $ws4 "4:"
     set $ws5 "5:"
     set $ws6 "6:"
     set $ws7 "7:"
     set $ws8 "8:"
     set $ws9 "9:"
     set $ws10 "10:"
    
    # switch to workspace
    #bindsym $mod+1		workspace $ws1
    #bindsym $mod+2		workspace $ws2
    #bindsym $mod+3		workspace $ws3
    #bindsym $mod+4		workspace $ws4
    #bindsym $mod+5		workspace $ws5
    #bindsym $mod+6		workspace $ws6
    #bindsym $mod+7		workspace $ws7
    #bindsym $mod+8		workspace $ws8
    #bindsym $mod+9		workspace $ws9
    #bindsym $mod+0		workspace $ws10
    
    # switch to workspace
    bindsym $mod+1		workspace $ws1
    bindsym $mod+2		workspace $ws2
    bindsym $mod+3		workspace $ws3
    bindsym $mod+4		workspace $ws4
    bindsym $mod+5		workspace $ws5
    bindsym $mod+6		workspace $ws6
    bindsym $mod+7		workspace $ws7
    bindsym $mod+8		workspace $ws8
    bindsym $mod+9		workspace $ws9
    bindsym $mod+0		workspace $ws10
    
    # move focused container to workspace
    bindsym $mod+Shift+1	move container to workspace $ws1
    bindsym $mod+Shift+2	move container to workspace $ws2
    bindsym $mod+Shift+3	move container to workspace $ws3
    bindsym $mod+Shift+4	move container to workspace $ws4
    bindsym $mod+Shift+5	move container to workspace $ws5
    bindsym $mod+Shift+6	move container to workspace $ws6
    bindsym $mod+Shift+7	move container to workspace $ws7
    bindsym $mod+Shift+8	move container to workspace $ws8
    bindsym $mod+Shift+9	move container to workspace $ws9
    bindsym $mod+Shift+0	move container to workspace $ws10
    
    # #---Media Keys---# #
    
    # for sound control
    #bindsym XF86AudioRaiseVolume exec amixer set Master playback 5+
    #bindsym XF86AudioLowerVolume exec amixer set Master playback 5-
    #bindsym XF86AudioMute exec amixer set Master toggle
    
    bindsym $mod+o exec amixer set Master playback 5-
    bindsym $mod+p exec amixer set Master playback 5+
    #bindsym $mod+o exec amixer set Master toggle
    #bindsym $mod+p exec amixer set PCM toggle
    
    #打开软件时自动移至相应工作区
    assign [class="i3-sensible-terminal"] $WS1
    assign [class="Firefox"] $WS2
    assign [class="google-chrome"] $W2
    assign [class="google-chrome-stable"] $WS2
    assign [class="chrome"] $WS2
    assign [class="ieaseMusic"] $WS6
    #assign [class="Firefox"] $WS2
    #assign [class="vim"] $WS4
    
    # open terminal
    
    #bindsym $mod+Control+t exec i3-sensible-terminal
    
    # ranger  -e  do commands
    bindsym $mod+Control+r exec i3-sensible-terminal -e ranger
    
    # reload the configuration file
    bindsym $mod+Shift+c reload
    # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
    bindsym $mod+Shift+r restart
    # exit i3 (logs you out of your X session)
    bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
    
    # resize window (you can also use the mouse for that)
    mode "resize" {
        # These bindings trigger as soon as you enter the resize mode
    
        # Pressing left will shrink the window’s width.
        # Pressing right will grow the window’s width.
        # Pressing up will shrink the window’s height.
        # Pressing down will grow the window’s height.
        bindsym j resize shrink width 10 px or 10 ppt
        bindsym k resize grow height 10 px or 10 ppt
        bindsym l resize shrink height 10 px or 10 pptobs
        bindsym semicolon resize grow width 10 px or 10 ppt
    
        # same bindings, but for the arrow keys
        bindsym Left resize shrink width 10 px or 10 ppt
        bindsym Down resize grow height 10 px or 10 ppt
        bindsym Up resize shrink height 10 px or 10 ppt
        bindsym Right resize grow width 10 px or 10 ppt
        # back to normal: Enter or Escape
        bindsym Return mode "default"
        bindsym Escape mode "default"
    }
    
    bindsym $mod+r mode "resize"
    
    # Start i3bar to display a workspace bar (plus the system information i3status
    # finds out, if available)
    # ******************************************************
    # 系统最早的头部状态
    #bar {
    #        status_command i3status
    #        tray_output primary
    #	position top
    #}
    #********************************************i3-gaps*********************************
    for_window [class="^.*"] border pixel 2
    
    gaps inner 8
    gaps outer 6
    set $mode_gaps Gaps: (o) outer, (i) inner
    set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
    set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
    bindsym $mod+Shift+g mode "$mode_gaps"
    
    mode "$mode_gaps" {
        bindsym o      mode "$mode_gaps_outer"
        bindsym i      mode "$mode_gaps_inner"
        bindsym Return mode "default"
        bindsym Escape mode "default"
    }
    
    mode "$mode_gaps_inner" {
        bindsym plus  gaps inner current plus 1
        bindsym minus gaps inner current minus 1
        bindsym 0     gaps inner current set 0
    
        bindsym Shift+plus  gaps inner all plus 1
        bindsym Shift+minus gaps inner all minus 1
        bindsym Shift+0     gaps inner all set 0
    
        bindsym Return mode "default"
        bindsym Escape mode "default"
    }
    mode "$mode_gaps_outer" {
        bindsym plus  gaps outer current plus 1
        bindsym minus gaps outer current minus 1
        bindsym 0     gaps outer current set 0
    
        bindsym Shift+plus  gaps outer all plus 1
        bindsym Shift+minus gaps outer all minus 1
        bindsym Shift+0     gaps outer all set 0
    
        bindsym Return mode "default"
        bindsym Escape mode "default"
    }
    
    set $mode_power power
    bindsym Mod1+Control+l mode "$mode_power"
    mode "$mode_power" {
    #bindsym l mode "default", exec --no-startup-id /home/itgoyo/.config/i3/i3exit lock
    bindsym l mode "default", exec i3lock-fancy -g
    bindsym e mode "default", exec --no-startup-id /home/itgoyo/.config/i3/i3exit logout
    bindsym s mode "default", exec --no-startup-id /home/itgoyo/.config/i3/i3exit suspend
    bindsym h mode "default", exec --no-startup-id /home/itgoyo/.config/i3/i3exit hibernate
    bindsym r mode "default", exec --no-startup-id /home/itgoyo/.config/i3/i3exit reboot
    bindsym p mode "default", exec --no-startup-id /home/itgoyo/.config/i3/i3exit shutdown
    
    bindsym Return mode "default"
    bindsym Escape mode "default"
    }
    
    # Set Xresources colors:
    set_from_resource $darkblack	color0  #000000
    set_from_resource $black	color8  #000000
    set_from_resource $darkred	color1  #000000
    set_from_resource $red		color9  #000000
    set_from_resource $darkgreen	color2  #000000
    set_from_resource $green	color10 #000000
    set_from_resource $darkyellow	color3  #000000
    set_from_resource $yellow	color11 #000000
    set_from_resource $darkblue	color4  #000000
    set_from_resource $blue		color12 #000000
    set_from_resource $darkmagenta	color5  #000000
    set_from_resource $magenta	color13 #000000
    set_from_resource $darkcyan	color6  #000000
    set_from_resource $cyan		color14 #000000
    set_from_resource $darkwhite	color7  #000000
    set_from_resource $white	color15 #000000
    set $transparent		#00000000
    
    #
    #                      #BORDER          BACKGROUND      TEXT            INDICATOR   CHILD_BORDER
    #client.focused          $red            $red            $magenta        $darkmagenta            $darkblue
    #client.unfocused        $transparent    $blue           $white          $darkblue               $darkblack
    #client.focused_inactive $transparent    $blue           $white          $darkblue               $darkblack
    #client.urgent           $darkred        $darkred        $black          $darkred                $darkred
    #client.background $black
    
    set $background #10101000
    set $foreground #ffffff
    set $gray       #d0d0d0
    set $secondary  #79D4D5
    set $additional #26CE8D
    set $warning    #E7176A
    
    #set $primary    #F58E8E
    #set $tertiary   #7AABD4
    
    set $primary    #F99157
    set $tertiary   #5c4d4d
    # colors                BORDER      BACKGROUND TEXT        INDICATOR
    client.focused          $primary    $primary   $foreground $primary
    client.focused_inactive $secondary  $secondary $foreground $secondary
    client.unfocused        $tertiary   $tertiary  $background $tertiary
    #client.urgent           $gray       $gray      $foreground $gray
    client.urgent           $darkred        $darkred        $black          $darkred                $darkred
    
    bar {
    
    	font pango:mono 10
    	colors {
    			background $darkblack
    			statusline $darkwhite
    			separator $cyan
    			focused_workspace  $blue $darkblue $darkblack
        		active_workspace   $blue $blue $darkwhite
      			inactive_workspace $darkblack $darkblack $white
        		urgent_workspace   $darkblack $darkblack $white
    		}
    	status_command i3blocks
    	position top
    	mode dock
    	modifier None
    }
    
    bar {
      i3bar_command i3bar -t
    height 28
    #禁止systemtray
    tray_output none
    # i3bar调用
    status_command ~/.config/i3/jconky
    # 显示位置top/bottom
    position top
    # 是否隐藏
    #  mode hide
    # 拆解工作区名(隐藏前面的1:2:3:……)
    # strip_workspace_numbers no
    # 定义分隔符∥
    separator_symbol "    "
    
    }
    
    bindsym $mod+Shift+Escape       exec --no-startup-id prompt "Exit i3?" "i3-msg exit"
    
    # bindsym $mod+BackSpace
    bindsym $mod+Shift+BackSpace    exec --no-startup-id prompt "Reboot computer?" "$reboot"
    
    # compton
    # auto start commands
    exec --no-startup-id fcitx -r
    #exec --no-startup-id fcitx-qimpanel
    exec --no-startup-id sogou-qimpanel
    exec --no-startup-id compton -b
    
    #bindsym $mod+Control+Return exec urxvt -sh 40 #透明参数0-100
    
    exec --no-startup-id fcitx-sogoupingyin
    
    #Background
    #exec --no-startup-id feh --bg-fill /home/itgoyo/cgi_lib.jpg
    exec --no-startup-id feh --bg-fill /home/itgoyo/图片/bg04.jpg
    #caps:swapescape
    
    #开机修改键盘映射
    exec --no-startup-id setxkbmap -option caps:swapescape
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解读

欢迎关注本人 Github:itgoyo
微信公众号:toolpool

在这里插入图片描述

全部评论 (0)

还没有任何评论哟~