Home Manjaro i3
Post
Cancel

Manjaro i3

不经意间入了 i3 的坑,感觉很好用,尤其是在虚拟机里专门写代码的场景下。

1. i3

i3 是一款平铺式桌面管理器,跟我们常用的桌面管理器最大的区别就是窗口不会重叠(浮窗除外),并且其非常轻量。平铺式简单的描述就是:当用户只开一个窗口时,该窗口会占据整个桌面,当开了两个窗口时,这两个窗口会平分桌面,依次类推。如下,一图胜千言。

i3wm

同时,i3 主要的用法是通过快捷键用键盘来控制窗口和工作区,堪称键盘党和强迫症的福音。附上官网提供的默认快捷键图:

Keys to use with $mod (Alt)

Keys to use with Shift+$mod

具体的使用方法和窗口树的概念花15分钟看下官方文档前三章就足够了:i3 User’s Guide

2. VMware Fusion 配置 Manjaro i3

下载地址:Manjaro i3

VMware 配置:

  • 按需添加共享目录
  • 按需调整 CPU 和 内存,并 enable hypervisor 和 IOMMU
  • 按需调整硬盘大小
  • USB 兼容性调成 USB 3.1
  • Disable Side Channle Mitigations

安装过程不用太多说明,一路鼠标点点点,之后重启就好了。只有一处需要注意,在进度到 93% 时安装程序应该会从默认的官方源安装一些东西,如果不能访问国外的网络,可能会在 93% 处等比较久。

配置的重头主要在安装完成后的 Manjaro 系统上,具体步骤如下。

2.1 更新

安装完成并重启登录后:

  1. 参考桌面左下角,先了解下 i3 的快捷键:mod + Enter 打开 terminal。mod 在 mac 下一般为 command 或 option,在 windows 下为 alt 或 win。
  2. sudo pacman-mirrors -i -c China -m rank 挑个自己中意的镜像源。
  3. sudo pacman -Syyu 更新系统。
  4. sudo mhwd-kernel -i linux510 rmc 换个 LTS 版本的内核。

2.2 open-vm-tools

open-vm-tools 就是 VMware 的一些工具:

  • vmtoolsd - 负责汇报虚拟机状态的服务。
  • vmware-checkvm - 用于检测虚拟机中是否在运行着某程序的工具。
  • vmware-toolbox-cmd - 用于收集宿主系统信息的工具。
  • vmware-user - Tool to enable clipboard sharing (copy/paste) between host and guest.
  • vmware-vmblock-fuse - 文件系统。基于 FUSE (Filesystem in Userspace) 实现了宿主 / 客机之间拖拽文件。
  • vmware-xferlogs - 向虚拟机的日志文件输出日志与调试信息。
  • vmhgfs-fuse - 挂载 HGFS 共享目录的工具。

以上工具已经默认安装了,但还是有些问题需要解决,参考:VMware/Install Arch Linux as a guest

  1. 分辩率无法调整

    sudo vi /etc/systemd/system/multi-user.target.wants/vmtoolsd.service 在 “ExecStart” 之前添加一行 ExecStartPre=/usr/bin/sleep 3s 给 vmtoolsd 增加 3s 启动延迟。

  2. 主宿机之间无法 copy/paste

    vi .i3/config 添加一行 exec_always --no-startup-id vmware-user-suid-wrapper &

  3. 主宿机之间文件无法共享

    去掉 /etc/fuse.conf 文件中 user_allow_other 前的注释符。

    vi .i3/config 添加一行 exec_always --no-startup-id vmhgfs-fuse -o allow_other -o auto_unmount .host:/ /home/cy/Shares

    语法:vmhgfs-fuse -o allow_other -o auto_unmount .host:/<shared_folder> <shared folders root directory>

  4. 烦人的主板 beep

    echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf

重启下确定配置生效。

2.3 个性化

到这里就是看个人喜好配置了,先装好 fish、vim。

  1. 开启 sshd systemctl enable sshd

  2. 状态栏置顶,改时间格式

    .i3/config 是 i3 的主配置文件,里边有各种快捷键、启动项、桌面绑定等配置。

    更改 .i3/config 的 bar 位置为 top:

    1
    2
    3
    4
    5
    6
    
    bar {
    	i3bar_command i3bar
    	status_command i3status
    	position top
    	...
    }
    

    参考 configuration file path,把 /etc/i3status.conf 拷贝到 .config/i3status/config,删掉没啥用的信息:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    # order += "ipv6"
    order += "cpu_usage"
    order += "disk /"
    # order += "disk /home"
    # order += "wireless _first_"
    # order += "ethernet _first_"
    # order += "battery all"
    # order += "load"
    order += "memory"
    order += "tztime local"
    ...
    tztime local {
            format = "%Y-%m-%d %H:%M:%S"
            # format = " %d.%m. %H:%M "
    }
    
  3. 窗口间移动改成 vim 的 hjkl

    在 .i3/config 中搜索 semicolon,替换为 l ,相应的 jkl 也改为 hjk 并保存,mod + shift + r 刷新后会提示冲突,把冲突的改掉即可。

  4. 安装 firefox,把 mod + f2 改为启动 firefox

    1
    
    bindsym $mod+F2 exec firefox
    
  5. 绑定 app 到不同工作区

    1
    2
    3
    
    assign [class="(?i)urxvt"] $ws1
    assign [class="(?i)firefox"] $ws2
    assign [class="Pcmanfm"] $ws3
    
  6. 关闭 conky,# exec --no-startup-id start_conky_maia

  7. 选张壁纸,nitrogen

  8. 终端透明

    Opacity,在 .config/picom.conf 中添加:

    1
    2
    3
    4
    
    opacity-rule = [
      "90:class_g = 'URxvt' && focused",
      "60:class_g = 'URxvt' && !focused"
    ];
    

    90、60 分别表示焦点和失焦的透明度。别外,可以通过快捷键:mod + t 和 mod + crtl + t 快速关闭和打开 picom(透明特效)。

  9. 中文输入法,Fcitx5

    Fcitx5 是继 Fcitx 后的新一代输入法框架。

    fcitx5-im 包组提供了 fcitx5 本体、配置工具、和必要的输入法模块。

    fcitx5 仅提供基本框架,仅提供英文支持,如果要输入其他语言(例如中文),则需要输入法引擎。

    fcitx5-chinese-addons、fcitx5-rime 为不同的中文输入法引擎。

    安装

    1
    2
    
    sudo pacman -S fcitx5-im
    sudo pacman -S fcitx5-chinese-addons
    

    配置,在 ~/.pam_environment 中设置以下环境变量。

    1
    2
    3
    4
    5
    
    GTK_IM_MODULE DEFAULT=fcitx
    QT_IM_MODULE  DEFAULT=fcitx
    XMODIFIERS    DEFAULT=@im=fcitx
    INPUT_METHOD  DEFAULT=fcitx
    SDL_IM_MODULE DEFAULT=fcitx
    

    开机启动

    1
    
    exec --no-startup-id fcitx5 -d
    
  10. 时间同步

    1
    
    $ sudo timedatectl set-ntp true
    
  11. 安装中文字体

    1
    2
    3
    4
    5
    
    sudo pacman -S wqy-zenhei
    vim ~/.Xresources
    URxvt.font: xft:Source Code Pro:style=Regular:antialias=True:pixelsize=14,xft:WenQuanYi Zen Hei:antialias=True:pixelsize=14
    URxvt.boldfont: xft:Source Code Pro:style=Bold:antialias=True:pixelsize=14,xft:WenQuanYi Zen Hei:antialias=True:pixelsize=14
    URxvt*letterSpace: -1.5
    

2.4 遗留问题

虚拟机启动的时候经常黑屏,没找到解决办法,遇到启动黑屏时只能多启动几次。

This post is licensed under CC BY 4.0 by the author.