manjaro xfce 环境配置

装机前备份 nginx、.ssh、hosts、settings.xml、electerm

1、换源

选择源

sudo pacman-mirrors -i -c China -m rank
sudo pacman -Sy

手动添加archlinuxcn上海交大源

$ sudo pacman -S vim
$ sudo vim /etc/pacman.conf
[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = https://mirrors.sjtug.sjtu.edu.cn/archlinux-cn/$arch
$ sudo pacman -Sy

安装archlinuxcn-keyring包导入GPG key

sudo pacman -Sy archlinuxcn-keyring
sudo pacman -Sy

更新系统

sudo pacman -Syyu

安装 yay 和开发包

sudo pacman -S yay base-devel

2、驱动管理

设置管理器 -> Manjaro Settings Manager -> 硬件设定

3、时间自动同步

设置管理器 -> Manjaro Settings Manager -> 时间和日期 -> 自动设置时间和日期
自定义时间显示格式:%b%e日,%a,%R,效果为:9月7日,一,09:50

4、开机开启小键盘

$ sudo vim /etc/lightdm/lightdm.conf
[Seat:*]
greeter-setup-script=/usr/bin/numlockx on

5、解决终端字体间距大的问题

设置管理器 -> 外观 -> 字体 -> 默认等宽字体

manjaro xfce 环境配置_第1张图片

打开终端 -> 编辑 -> 首选项 -> 外观 -> 勾选使用系统字体

6、常用软件安装

6.1、安装 fcitx5 中文输入法

6.1.1、安装

fcitx5-chinese-addons:包含了大量中文输入方式:拼音、双拼、五笔拼音、自然码、仓颉、冰蟾全息、二笔等
fcitx5-pinyin-zhwiki:felixonmars 根据中文维基百科创建的词库。适用于 拼音输入法
fcitx5-material-color:主题,提供了类似微软拼音的外观

sudo pacman -S fcitx5-qt fcitx5-gtk fcitx5-chinese-addons fcitx5-configtool fcitx5-pinyin-zhwiki fcitx5-material-color

查看前端显示是 x11 还是 wayland

echo $XDG_SESSION_TYPE

X11 用户直接编辑 ~/.xprofile 添加如下内容

export GTK_IM_MODULE=fcitx5
export XMODIFIERS=@im=fcitx5
export QT_IM_MODULE=fcitx5
fcitx5 &

Wayland 用户在 ~/.pam_environment 中添加如下内容

vim ~/.pam_environment
GTK_IM_MODULE DEFAULT=fcitx
QT_IM_MODULE  DEFAULT=fcitx
XMODIFIERS    DEFAULT=@im=fcitx
INPUT_METHOD  DEFAULT=fcitx
6.1.2、配置

配置云拼音
manjaro xfce 环境配置_第2张图片
配置搜狗词库
manjaro xfce 环境配置_第3张图片
配置逗号、句号翻页
manjaro xfce 环境配置_第4张图片

6.1、搜狗输入法

6.1.1、安装

sudo pacman -S fcitx-configtool
yay -S fcitx-sogoupinyin

注意:最新版本并不好用,我们安装 fcitx-sogoupinyin-2.3.1.0112 版本,参考:Manjaro 如何安装旧版本软件
这个版本需要以下依赖替换默认 fcitx

$ sudo pacman -S fcitx-lilydjwg-git
# 忽略升级
$ sudo vim /etc/pacman.conf
[Options]
IgnorePkg=fcitx-sogoupinyin

如果需要恢复 fcitx 默认设置,则删除配置文件重启即可

rm -rf .config/fcitx/

6.1.2、修改配置文件

$ vim ~/.xprofile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

6.1.3、修改快捷键

  1. 修改搜狗输入法自身的快捷键,避免冲突
  2. 任务栏英文输入法右键 -> 配置 -> 全局配置 -> 显示高级选项 -> 将冲突的快捷键取消
  3. 系统快捷键:设置管理器 -> 键盘 -> 应用程序快捷键 -> 修改/删除冲突快捷键
  4. 系统窗口快捷键:设置管理器 -> 窗口管理器 -> 键盘 -> 修改/删除冲突快捷键
  5. 修改默认的Ctrl+Alt+T弹出命令窗口的样式,将xfce4-terminal --drop-down改为xfce4-terminal
  6. 修改默认的锁屏快捷键:设置管理器 -> 键盘 -> 应用程序快捷键 -> xflock4 -> Super+L

6.1.4、所有窗口共享输入法

任务栏英文输入法右键 -> 配置 -> 全局配置 -> 程序 -> 在窗口见共享状态 -> 所有

6.1.5、输入法异常重启 fcitx 即可

fcitx -r

6.2、微信和QQ

6.2.1、微信

6.2.1.1、星火商店搬运的微信(推荐)
yay -S com.qq.weixin.spark

安装字体,解决中文显示框框的问题
下载微软雅黑字体,解压后得到WeiRuanYaHei-1.ttf

cp WeiRuanYaHei-1.ttf ~/.deepinwine/Spark-WeChat/drive_c/windows/Fonts/
6.2.1.2、deepin-wine-wechat-arch
yay -S deepin-wine-wechat
# 切换到 deepin-wine 解决一系类问题
/opt/apps/com.qq.weixin.deepin/files/run.sh -d

微信输入框输入汉字为方块解决方法

6.2.2、星火商店搬运的QQ

yay -S com.qq.tim.spark

6.3、安装护眼软件红移 redshift

开启后记得右键设置开机启动

sudo pacman -S redshift

6.4、chrome

sudo pacman -S google-chrome
# 解决需要输秘钥解锁问题
sudo pacman -S seahorse
seahorse

打开密码和密匙对话框,在密码→登录上右键(注意在密码项目上,不是右侧的 Chrome 项目),选择更改密码,删除为空,保存。重启即可解决。

6.5、wps

# 国际版,推荐,更清爽,没有登录按钮
sudo pacman -S wps-office
# 国内版,实测也无广告
sudo pacman -S wps-office-cn
# 如果为英文,点右上角的 A 切换语言,如果没有中文则安装中文语言包
sudo pacman -S wps-office-mui-zh-cn
# 可选安装 WPS 需要的符号字体
sudo pacman -S ttf-wps-fonts

6.6、网易云音乐

yay -S netease-cloud-music

6.7、onedrive

https://github.com/abraunegg/onedrive

sudo pacman -S onedrive-abraunegg
# 配置账户
onedrive
# 将弹出的链接复制粘贴到浏览器,根据提示登录,最后得到一个链接,复制再粘贴回来回车就可以了
# 开启同步,默认同步目录 ~/OneDrive
onedrive --synchronize
# 作为系统服务开机启动
systemctl --user enable onedrive
systemctl --user start onedrive

修改密码后的重新登陆

# 停止服务
systemctl --user stop onedrive.service
# 登出重新登录
onedrive --logout
# 开启服务
systemctl --user start onedrive

6.8、Xtreme Download Manager

多线程下载神器 https://github.com/subhra74/xdm,安装后打开软件根据提示安装浏览器插件

实测以下命令安装后会打不开,提示运行Java环境异常
yay -S xdman
所以我们直接在页面下载最新版的linux安装包,解压后得到 install.sh

chmod +x install.sh
sudo ./install.sh

6.9、密码管理器

6.9.1、KeePassXC(推荐)

sudo pacman -S keepassxc

设置浏览器集成,然后直接点击5安装浏览器插件
manjaro xfce 环境配置_第5张图片

6.9.2、keepass

sudo pacman -S keepass

https://keepass.info/translations.html
下载简体中文插件
manjaro xfce 环境配置_第6张图片
解压得到插件,移动插件

cd /usr/share/keepass/
sudo mkdir Languages
cd ~
sudo mv Chinese_Simplified.lngx /usr/share/keepass/Languages/

解决汉化乱码的问题
Tools -> Options -> Interface -> 拉到最后
把Force using system font (Unix only)的钩钩去掉即可
manjaro xfce 环境配置_第7张图片
汉化
View -> Change Language...
选择汉化插件重启即可

chrome 浏览器插件
https://keepass.info/plugins.html 下载 KeePassHttp,重启 keepass

cd /usr/share/keepass/Plugins
sudo wget https://raw.github.com/pfn/keepasshttp/master/KeePassHttp.plgx

安装 KeePassHelper 浏览器插件
https://keepass.info/plugins.html#kphelper 选定指定的浏览器安装插件
manjaro xfce 环境配置_第8张图片
但个人感觉不好用,推荐 chromeipass

6.10、远程软件 AnyDesk

yay -S anydesk-bin

6.11、迅雷

yay -S deepin.com.thunderspeed

7、开发软件安装

7.1、jdk

7.2.1、aur 安装

yay -S jdk8

7.1.2、Oracle 官网下载 tar.gz 后缀的jdk

$ sudo tar -zxvf jdk1.8.0_241.tar.gz -C /opt
$ sudo vim /etc/profile
#set java environment
export JAVA_HOME=/opt/jdk1.8.0_241   
export JRE_HOME=${JAVA_HOME}/jre    
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib    
export PATH=${JAVA_HOME}/bin:$PATH 
$ source /etc/profile

7.1.3、安装 openjdk11

$ sudo pacman -S jdk11-openjdk
# 查看已安装的 jdk
$ archlinux-java status
Available Java environments:
  java-11-openjdk (default)
  java-8-openjdk/jre
# 切换默认 jdk
$ sudo archlinux-java set java-11-openjdk
$ java -version
openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7)
OpenJDK 64-Bit Server VM (build 11.0.12+7, mixed mode)

7.2、jetbrains 系列软件

7.2.1、解决搜狗输入法输入框不跟随问题

  1. 虚拟机编译 jdk

参考:
idea 中文输入法定位不准问题修复(fcitx框架输入法)
https://github.com/JetBrains/JetBrainsRuntime
https://github.com/prehonor/myJetBrainsRuntime

经测试在 manjaro20.03 和 Ubuntu18.04 上均编译失败,最后在虚拟机的 Ubuntu20.04 上安装成功,安装教程如下:
由于 github 速度太慢,把 JetBrainsRuntime 项目导入到 gitee 再下载

git config --global core.autocrlf input
https://gitee.com/Jial08/JetBrainsRuntime.git
https://github.com/prehonor/myJetBrainsRuntime.git
# 安装依赖
sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev
# 编译需要 openjdk 10/11 环境,安装 11 环境
sudo apt install openjdk-11-jdk
# idea Help -> About 查看运行环境版本,根据版本切换到具体 tag,以 idea2020.2 为例,运行环境版本为 b944
git checkout -b jb11_0_7-b944 jb11_0_7-b944
cp myJetBrainsRuntime/idea.patch JetBrainsRuntime/
cd JetBrainsRuntime
git apply idea.patch
sh ./configure --disable-warnings-as-errors
make images

运行途中可能会报错,根据报错提示安装相应依赖,最后会在build/linux-x86_64-normal-server-release/images/目录下生成编译好的jdk
已编译好的jdk环境可以从 JetBrainsRuntime-build 获取,因为 gitee 对单文件 100m 的限制,采用分卷压缩,下载后进入项目目录,cat jdk.tar.gz.* | tar zx合并分卷解压缩即可。

  1. docker 编译 jdk
    参考我的另一篇文章 Docker 日常使用
# 进入 docker 服务器终端
docker run -it -u 1000 -v /home/jl/dockerfile:/home/apache jetbrainsruntime-env /bin/bash
# idea Help -> About 查看运行环境版本,根据版本切换到具体 tag,以 idea2020.2 为例,运行环境版本为 b944
git checkout -b jb11_0_7-b944 jb11_0_7-b944
# 编译
cp myJetBrainsRuntime/idea.patch JetBrainsRuntime/
cd JetBrainsRuntime
git apply idea.patch
sh ./configure --disable-warnings-as-errors
make images
  1. JetBrains 安装 Choose Runtime 插件
  2. 选择运行环境
    Ctrl+Shift+A -> choose -> 选择 Choose Runtime… -> 选择编译好的 jdk -> 软件重启即可
  3. 目前发现的问题
    markdown 文件没有了预览模式,偶尔会焦点异常,无法删除和回车,其它问题待发现。

7.2.2、idea 常用插件

# 阿里代码规范
Alibaba Java Coding Guidelines
# 右侧预览,方便快速定位,Ctrl+Shift+G 快速打开关闭
CodeGlance
# mybatis 代码到 xml 跳转
Free Mybatis plugin
# 分析依赖冲突插件
Maven Helper
# 括号开始结尾,高亮显示
HighlightBracketPair
# 多彩括号,区域代码高亮
Rainbow Brackets
# 翻译
Translation
# 字符串各种显示格式转换
String Manipulation
CamelCase
# git 显示插件,可以在每行显示修改人和修改时间
GitToolBox
# 热加载修改的代码而无需重启项目,使用参考下方链接
JRebel and XRebel for IntelliJ
# 重置试用期
IDE Eval Reset
# 解决 Mapper 接口提示报错
MybatisPlus

Intellij JRebel 插件使用
Jetbrains系列产品重置试用方法

7.2.3、私钥对可能因为权限太开放而 clone 项目失败

当你的私钥对是备份还原的时候可能权限太开放而导致 clone 项目失败,修改权限为 400

chmod 400 ~/.ssh/id_rsa

7.2.4、汉字可能显示片假字

manjaro xfce 环境配置_第9张图片
Fallback font 意思是回滚字体,在设置的主字体不包含某些字符(中文字符)时,就会使用Fallback font字体来显示。我们选择思源黑体,SC 代表简体中文。

7.2.5、插件安装失败设置代理

manjaro xfce 环境配置_第10张图片

7.3、vscode

sudo pacman -S visual-studio-code-bin

常用插件

Chinese (Simplified) Language Pack for Visual Studio Code
JSON Tools
Markdown All in One
Markdown Preview Enhanced
markdownlint
Markdown TOC

解除 html 警告

{
    "markdownlint.config": {
        
        "default": true,
        "MD033": {
          "allowed_elements": [ "font", "li", "table", "tr", "td" ]
        }
    }
}

7.4、微信开发者工具

sudo pacman -S wechat-devtools

7.5、xmind8

yay -S xmind

因为 xmind8 依赖 openjdk8,所以在升级 openjdk11 并设置为默认 java 环境时至少要安装一个最小的 openjdk8 开发环境,并在配置文件中指定 vm 环境

sudo pacman -S jre8-openjdk-headless
# 在 /usr/share/xmind/XMind/XMind.ini 配置文件的 -vmargs 前插入 vm 环境配置
sudo sed -i '/-vmargs/i\
-vm\
/usr/lib/jvm/java-8-openjdk/jre/bin
' /usr/share/xmind/XMind/XMind.ini

7.6、postman

sudo pacman -S postman

7.7、miniconda

yay -S miniconda3

7.8、CopyQ

粘贴板神器,类似 ditto,可惜 ditto 没有 Linux 版本

sudo pacman -S copyq

设置 Alt+V 快捷键弹出剪贴板
托盘右键 -> 首选项 -> 快捷键 -> 显示/隐藏主窗口
可以把剩余设置的快捷键都删除,避免快捷键冲突

7.9、ssh 工具 electerm

https://electerm.html5beta.com/
github 指定的 sanp 和 npm 安装都有问题,所以我们用 tar.gz 包
manjaro xfce 环境配置_第11张图片

$ wget https://github.com/electerm/electerm/releases/download/v1.3.54/electerm-1.3.54-linux-x64.tar.gz
$ sudo tar -zxvf electerm-1.3.54-linux-x64.tar.gz -C /opt
# 保存上面的图标到 /opt/electerm-1.3.54-linux-x64/ 目录为 icon.png
# 编写启动脚本
$ sudo vim /usr/share/applications/electerm.desktop
[Desktop Entry]
Name=electerm
Exec=electerm
Terminal=false
Type=Application
Icon=/opt/electerm-1.3.54-linux-x64/icon.png
Exec=/opt/electerm-1.3.54-linux-x64/electerm
StartupWMClass=plasmashell
Comment=Terminal/ssh/sftp client(linux, mac, win) based on electron/ssh2/node-pty/xterm/antd/subx and other libs
Categories=Development;System;TerminalEmulator;

7.10、nginx

将备份的 nginx 解压到 /opt 目录

$ sudo vim /etc/systemd/system/nginx.service
Description=nginx 
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.conf
ExecReload=/opt/nginx/sbin/nginx -s reload
ExecStop=/opt/nginx/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target

# 设置开机启动
$ sudo systemctl enable nginx.service
# 查询服务是否开机启动
$ systemctl is-enabled nginx.service

注意:
vue 项目可能会因为 nginx 拥有者为 root 而没有读写权限导致项目启动失败,可能根据/opt/nginx/logs/error.log的错误提示对相应目录对本地用户赋予相应权限即可。

7.11、npm

sudo pacman -S npm

7.12、VirtualBox

参考:https://zhuanlan.zhihu.com/p/83391251

# 安装
sudo pacman -S virtualbox
# 解决安装启动虚拟机过程中出现的错误
# 查看系统内核
uname -srm
# 根据系统内核选择对应版本的 headers
sudo pacman -S linux-headers
sudo pacman -S virtualbox-host-dkms
sudo pacman -S virtualbox-host-dkms

7.13、画图软件 draw.io

可以画流程图、类图等

sudo pacman -S drawio-desktop-bin

7.14、Snipaste 截图

Snipaste 在Windows 下是一个很好用的工具,可惜 Linux 版一直在开发中,那么就先用 wine 版的 32 位版本,参考如何用Deepin-wine安装运行win32的程序。

7.14.1、创建容器并启动 Snipaste

Snipaste 在Windows 下是一个很好用的工具,可惜 Linux 版一直在开发中,那么就先用 wine 版的 32 位版本,发现 wine 对 Snipaste 的支持不友好,deepin-wine 挺好,所以用 deepin-wine 启动 Snipaste,参考如何用Deepin-wine安装运行win32的程序。

安装 deepin-wine

sudo pacman -S deepin-wine

~/.deepinwine目录下创建Snipaste文件夹,并把在 https://zh.snipaste.com 下载的32位程序解压到该目录,用 deepin-wine 启动程序:

WINEPREFIX=~/.deepinwine/Snipaste deepin-wine ~/.deepinwine/Snipaste/Snipaste.exe

创建启动脚本:

$ vim Snipaste-start.sh
#!/bin/sh
WINEPREFIX=~/.deepinwine/Snipaste deepin-wine ~/.deepinwine/Snipaste/Snipaste.exe &
$ chmod +x Snipaste-start.sh

开机启动:
参考 Linux下设置开机自动启动-shell的几种方法,但是有时候触发有问题,采用系统自带的会话和启动触发:

sudo mkdir Snipaste
sudo mv Snipaste-start.sh /opt/Snipaste/

设置管理器 -> 会话和启动 -> 应用程序自启动 -> 添加
manjaro xfce 环境配置_第12张图片

7.14.2、创建全局快捷键

截图快捷键启动脚本

$ sudo pacman -S xdotool
$ vim Snipaste-hotkey.sh
#!/bin/sh
xdotool key --window $(xdotool search --limit 1 --all --pid $(pgrep Snipaste.exe)) "F1"
$ chmod +x Snipaste-hotkey.sh
$ sudo mv Snipaste-hotkey.sh /opt/Snipaste

设置全局快捷键
设置管理器 -> 键盘 -> 应用程序快捷键 -> 添加 -> /opt/Snipaste/Snipaste-hotkey.sh -> 确定 -> 指定需要的快捷键,通常指定 Snipaste 的默认快捷键 F1

7.15、PicGo + 码云做图床

7.15.1、安装 PicGo 和依赖

yay -S picgo-appimage
# 剪贴板上传依赖
sudo pacman -S xclip

7.15.2、码云创建一个公开项目并获取私人令牌

manjaro xfce 环境配置_第13张图片
manjaro xfce 环境配置_第14张图片

7.15.3、配置 PicGo

在插件设置中搜索 gitee,左右两个都可以,只是配置方法略有不同。

manjaro xfce 环境配置_第15张图片

配置 gitee
gitee 配置如下:

manjaro xfce 环境配置_第16张图片

gitee-uploader配置如下:

manjaro xfce 环境配置_第17张图片

在 PicGo 设置中修改快捷键设置来快速的设置剪贴图上传,并设置时间戳重命名以避免文件重名无法上传。

7.16、maven

sudo pacman -S maven

7.17、synology-drive-client

sudo pacman -S synology-drive-client

7.18、open3

yay -S open3

添加快捷启动命令

alias opvn3-list='open3 sessions-list'
alias opvn3-start='open3 session-start --config /home/jl/open/config.o'
alias opvn3-stop='open3 session-manage --config /home/jl/open/config.o --disconnect'
# opvn3-session-stop /net/open/v3/sessions/b0d0c217s52d3s4cadsa4f1sb5560974312e 关闭 session
alias opvn3-session-stop='stop() { open3 session-manage --session-path $1 --disconnect; }; stop'

7.19、文件加密工具 Cloaker

yay -S cloaker-bin

8、alias

~/.bashrc:适用于当前用户
/root/.bashrc:适用于 root 用户
/etc/bash.bashrc:适用于所有用户

$ sudo vim /etc/bash.bashrc
alias ll="ls -alF"
$ source /etc/bash.bashrc
  1. -a:显示当前目录下的所有文件及文件夹包括隐藏的.和…等
  2. -l:显示不隐藏的文件与文件夹的详细信息
  3. -F:加上文件类型的指示符号(*/=@| 其中一个),即如果是文件夹类型,则结尾有一个/

9、软件升级异常回滚

fcitx-lilydjwg-git回滚为例

9.1、命令回滚

参考:Manjaro软件还原上一个版本

$ sudo pacman -S downgrade
# fcitx-lilydjwg-git 升级异常降级
$ sudo downgrade fcitx-lilydjwg-git
Downgrading from A.L.A. is disabled on the stable branch. To override this behavior, set DOWNGRADE_FROM_ALA to 1 .
See https://wiki.manjaro.org/index.php?title=Using_Downgrade  for more details.

可选的包:

-  1)  fcitx-lilydjwg-git  2  4.2.9.7.20200801  1  x86_64  (本地)
+  2)  fcitx-lilydjwg-git  2  4.2.9.7.20200806  1  x86_64  (本地)
-  3)  fcitx-lilydjwg-git  2  4.2.9.7.20200915  1  x86_64  (本地)

输入数字以选择包:
# 输入对应数字安装对应版本,+ 代表目前版本,选择对应的版本安装,最后会提示是否添加软件到IgnorePkg

9.2、本地历史版本回滚

pacman 安装历史版本包缓存位置:/var/cache/pacman/pkg

$ cd /var/cache/pacman/pkg
# 找到相关包并时间倒叙排列
$ find . -iname 'fcitx*' | xargs ls -lt
-rw-r--r-- 1 root root 8436971  915 18:24 ./fcitx-lilydjwg-git-2:4.2.9.7.20200915-1-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root 8436772  86 13:57 ./fcitx-lilydjwg-git-2:4.2.9.7.20200806-1-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root 8436828  81 18:09 ./fcitx-lilydjwg-git-2:4.2.9.7.20200801-1-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root 8339069  81 15:12 ./fcitx-4.2.9.8-1-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root  190791  81 15:12 ./fcitx-qt5-1.2.5-1-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root   12505  710 04:10 ./fcitx-googlepinyin-0.1.6-7-x86_64.pkg.tar.zst
-rw-r--r-- 1 root root   47265  525 22:00 ./fcitx-configtool-0.4.10-4-x86_64.pkg.tar.zst
$ sudo pacman -U fcitx-lilydjwg-git-2:4.2.9.7.20200806-1-x86_64.pkg.tar.zst

yay 安装历史版本包缓存位置:~/.cache/yay/

你可能感兴趣的:(manjaro,linux)