部署Manjaro笔记

部署Manjaro笔记

今日要部署一个PHP+MySQL的团队开发环境,为了便于团队部署,我特地选择了Arch Linux的一个下游发行版Manjaro,这个发行版提供了对显卡的驱动基本支持

请注意!在部署完成之前请不要同步时间到 UTC+8,如果你的时间已经是UTC+8,请恢复到UTC+0时间,原因是时间同步会导致时区错乱,引发签名过期的问题

安装搜狗输入法

安装输入法会需要多次重启

首先勾选Manjaro Hello->Applications->Manjaro language Support->Manjaro Asian Input Support Fcitx,然后点击此页面右上角的UPDATE SYSTEMreboot重启系统

在重启系统后,执行 yay -S --noconfirm fcitx-sogoupinyin 就能安装搜狗输入法

但是我还是推荐使用 sudo pacman -Syy --noconfirm && sudo pacman -S --noconfirm archlinuxcn-keyring 更新一下系统再重启

既然使用了linux,那就再用一下开源的输入法吧

注意: 此输入法与上文的搜狗输入法冲突,并且fcitx版本要高于搜狗输入法,理论上来说体验要优于搜狗输入法的

#!/bin/bash
# 直接安装fcitx5套件和主题,顺带导入拼音词库
yay -Syu --noconfirm fcitx5-im fcitx5-chinese-addons fcitx5-lua fcitx5-m17n fcitx5-material-color fcitx5-pinyin-zhwiki fcitx5-pinyin-sougou
# 写入配置文件,启用输入法
echo "export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx" >> ~/.xprofile
# 安装后首次启动fcitx5以生成配置文件夹
fcitx5 &
sleep 3
cat<<EOF>>~/.config/fcitx5/conf/classicui.conf
# 垂直候选列表
Vertical Candidate List=False

# 按屏幕 DPI 使用
PerScreenDPI=True

# Font (设置成你喜欢的字体)
Font="MiSans Medium 13"

# 主题(贴近Win10微软输入法)
Theme=Material-Color-Blue

# Theme=Material-Color-Pink
# Theme=Material-Color-Blue
# Theme=Material-Color-Brown
# Theme=Material-Color-DeepPurple
# Theme=Material-Color-Indigo
# Theme=Material-Color-Red
# Theme=Material-Color-Teal
# Theme=Material-Color-Black
# Theme=Material-Color-Orange
# Theme=Material-Color-SakuraPink
EOF
sync
reboot

安装FireFox Developer[并未进入汇总脚本]

对于前端开发者,mozilla还推出了FireFox Developer,这个版本的FireFox为开发者提供了相当多的便利,例如无效CSS建议,新的开发者工具等,是实打实的开发利器,在这里我写上一份简单的安装命令

sudo pacman -S --noconfirm firefox-developer-edition-i18n-zh-cn

双显卡[并未进入汇总脚本]

如果你的电脑有双显卡, 通常我们的选择是安装bumblebee来指定独显运行程序

但是在安装完成Manjaro之后,你就可以使用prime-run命令用独显来运行程序了,不需要再安装bumblebee

# 以root身份运行下方命令可重新安装闭源驱动, 避免因为升级系统等因素导致独显报错等问题
mhwd -r pci video-hybrid-intel-nvidia-prime
mhwd -i pci video-hybrid-intel-nvidia-prime
# 重启以生效
reboot

如果你是笔记本用户,依然建议你安装bumblebee,因为这是最省电的做法

如果要使用bumblebee,你要确保你安装的是开源驱动

# 第一步就是安装开源驱动(因为我的系统用的是5.15的内核,所以这里是515)
sudo pacman -S linux515-nvidia
# 安装bumblebee
sudo pacman -S bumblebee mesa xf86-video-intel primus
# 安装依赖
sudo pacman -S lib32-virtualgl lib32-nvidia-utils
# 启动服务
systemctl enable bumblebeed.service
# 将用户加入用户组(这点很重要,必须要加入,不然会报错)
sudo gpasswd -a $USER bumblebee
# 安装bbswitch关闭显卡(因为我的系统用的是5.15的内核,所以这里是515)
sudo pacman -S linux515-bbswitch

这安装完成上述脚本后,就可以正常使用了。

新版本不再使用optirun命令而是使用了primusrun命令来指定独显渲染,所以启动时只要在命令前加上此命令即可

# 可以跑一下glxgears进行测试
optirun/primusrun/prime-run glxgears

汇总脚本

最终,我总结了这么一篇脚本(请避免以root用户身份执行,如果需要root权限会在终端询问您的)

#!/bin/bash
# 重新设置目录到英文避免在终端下乱码
LC_ALL=C xdg-user-dirs-update --force
sed -i "s/桌面/Desktop/" ~/.local/share/user-places.xbel
sed -i "s/%E6%A1%8C%E9%9D%A2/Desktop/" ~/.local/share/user-places.xbel
sed -i "s/文档/Documents/" ~/.local/share/user-places.xbel
sed -i "s/%E6%96%87%E6%A1%A3/Documents/" ~/.local/share/user-places.xbel
sed -i "s/下载/Downloads/" ~/.local/share/user-places.xbel
sed -i "s/%E4%B8%8B%E8%BD%BD/Downloads/" ~/.local/share/user-places.xbel
sed -i "s/音乐/Music/" ~/.local/share/user-places.xbel
sed -i "s/%E9%9F%B3%E4%B9%90/Downloads/" ~/.local/share/user-places.xbel
sed -i "s/图片/Pictures/" ~/.local/share/user-places.xbel
sed -i "s/%E5%9B%BE%E7%89%87/Downloads/" ~/.local/share/user-places.xbel
sed -i "s/视频/Videos/" ~/.local/share/user-places.xbel
sed -i "s/%E8%A7%86%E9%A2%91/Downloads/" ~/.local/share/user-places.xbel
rm -rf ~/桌面 ~/文档 ~/下载 ~/音乐 ~/图片 ~/视频 ~/公共 ~/模板

# Linux下同步时间到和Windows的计算方式一样(UTC)
# 装双系统时需要的
sudo timedatectl set-local-rtc true
# 换国内源(会打开GUI)
sudo pacman-mirrors -i -c China -m rank
# 末尾插入archlinuxcn源(这里的空行请勿忽略)
sudo su - -c 'cat<<EOF>>/etc/pacman.conf

[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = https://mirrors.ustc.edu.cn/archlinuxcn/\$arch

EOF'

# 更新系统
sudo pacman -Syyu
# 安装GPG Key
sudo pacman -S archlinuxcn-keyring
# 安装基础包,避免依赖问题
sudo pacman -S base-devel
sudo pacman -S yay

# 安装的DW代替品bluegriffon
#yay -S --noconfirm community/bluegriffon community/bluegriffon-i18n-zh-cn
# 安装开发工具VSCode以及一些字体或者依赖
yay -S --noconfirm visual-studio-code-bin extra/noto-fonts-cjk vim unzip

# 从官方仓库安装字体并配置
sudo pacman -S --noconfirm ttf-roboto noto-fonts ttf-dejavu wqy-bitmapfont wqy-microhei wqy-microhei-lite wqy-zenhei noto-fonts-cjk adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts
# 安装编程字体
wget https://download.jetbrains.com/fonts/JetBrainsMono-2.242.zip
unzip JetBrainsMono-2.242.zip
mv fonts JetBrainsMono
rm -rf AUTHORS.txt  OFL.txt JetBrainsMono-2.242.zip
sudo mv JetBrainsMono /usr/share/fonts/
# 安装小米MiSans字体
wget https://cdn.cnbj1.fds.api.mi-img.com/vipmlmodel/font/MiSans/MiSans.zip
unzip MiSans.zip
mv 'MiSans 开发下载字重' MiSans
rm -rf __MACOSX MiSans/.DS_Store MiSans.zip
sudo mv MiSans /usr/share/fonts/
# 刷新字体信息
sudo chown -R root:root /usr/share/fonts/
sudo fc-cache -f -v

# 为当前用户配置fontconfig,微调字体
mkdir -p ~/.config/fontconfig
cat<<EOF>>~/.config/fontconfig/fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
        <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
    </its:rules>

    <description>Manjaro Font Config</description>

    <!-- Font directory list -->
    <dir>/usr/share/fonts</dir>
    <dir>/usr/local/share/fonts</dir>
    <dir prefix="xdg">fonts</dir>
    <dir>~/.fonts</dir> <!-- this line will be removed in the future -->

    <!-- 自动微调 微调 抗锯齿 内嵌点阵字体 -->
    <match target="font">
        <edit name="autohint"> <bool>false</bool> </edit>
        <edit name="hinting"> <bool>true</bool> </edit>
        <edit name="antialias"> <bool>true</bool> </edit>
        <edit name="embeddedbitmap" mode="assign"> <bool>false</bool> </edit>
    </match>

    <!-- 英文默认字体使用 Roboto 和 Noto Serif ,终端使用 DejaVu Sans Mono. -->
    <match>
        <test qual="any" name="family">
            <string>serif</string>
        </test>
        <edit name="family" mode="prepend" binding="strong">
            <string>Noto Serif</string>
        </edit>
    </match>
    <match target="pattern">
        <test qual="any" name="family">
            <string>sans-serif</string>
        </test>
        <edit name="family" mode="prepend" binding="strong">
            <string>Roboto</string>
        </edit>
    </match>
    <match target="pattern">
        <test qual="any" name="family">
            <string>monospace</string>
        </test>
        <edit name="family" mode="prepend" binding="strong">
            <string>DejaVu Sans Mono</string>
        </edit>
    </match>

    <!-- 中文默认字体使用思源宋体,不使用 Noto Sans CJK SC 是因为这个字体会在特定情况下显示片假字. -->
    <match>
        <test name="lang" compare="contains">
            <string>zh</string>
        </test>
        <test name="family">
            <string>serif</string>
        </test>
        <edit name="family" mode="prepend">
            <string>Source Han Serif CN</string>
        </edit>
    </match>
    <match>
        <test name="lang" compare="contains">
            <string>zh</string>
        </test>
        <test name="family">
            <string>sans-serif</string>
        </test>
        <edit name="family" mode="prepend">
            <string>Source Han Sans CN</string>
        </edit>
    </match>
    <match>
        <test name="lang" compare="contains">
            <string>zh</string>
        </test>
        <test name="family">
            <string>monospace</string>
        </test>
        <edit name="family" mode="prepend">
            <string>Noto Sans Mono CJK SC</string>
        </edit>
    </match>

    <!-- 把Linux没有的中文字体映射到已有字体,这样当这些字体未安装时会有替代字体 -->
    <match target="pattern">
        <test qual="any" name="family">
            <string>SimHei</string>
        </test>
        <edit name="family" mode="assign" binding="same">
            <string>Source Han Sans CN</string>
        </edit>
    </match>
    <match target="pattern">
        <test qual="any" name="family">
            <string>SimSun</string>
        </test>
        <edit name="family" mode="assign" binding="same">
            <string>Source Han Serif CN</string>
        </edit>
    </match>
    <match target="pattern">
        <test qual="any" name="family">
            <string>SimSun-18030</string>
        </test>
        <edit name="family" mode="assign" binding="same">
            <string>Source Han Serif CN</string>
        </edit>
    </match>

    <!-- Load local system customization file -->
    <include ignore_missing="yes">conf.d</include>
    <!-- Font cache directory list -->
    <cachedir>/var/cache/fontconfig</cachedir>
    <cachedir prefix="xdg">fontconfig</cachedir>
    <!-- will be removed in the future -->
    <cachedir>~/.fontconfig</cachedir>

    <config>
        <!-- Rescan in every 30s when FcFontSetList is called -->
        <rescan> <int>30</int> </rescan>
    </config>

</fontconfig>
EOF

# 安装QQ(这个安装会很慢,建议先去GitHub下载好资源包),微信,edge浏览器,WPS(这个编译的时候花费的时间也很长)
yay -S --noconfirm icalingua++ electron17 wechat-uos microsoft-edge-stable-bin ttf-wps-fonts wps-office-cn wps-office-mui-zh-cn
sudo sed -i 's/electron/electron17/' /usr/bin/wechat-uos
# 直接安装fcitx5套件和主题,顺带导入拼音词库
yay -S --noconfirm fcitx5-im fcitx5-chinese-addons fcitx5-lua fcitx5-m17n fcitx5-material-color fcitx5-pinyin-zhwiki fcitx5-pinyin-sougou
# 写入配置文件,启用输入法
echo "export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx" >> ~/.xprofile
# 安装后首次启动fcitx5以生成配置文件夹
fcitx5 &
sleep 3
cat<<EOF>>~/.config/fcitx5/conf/classicui.conf
# 垂直候选列表
Vertical Candidate List=False

# 按屏幕 DPI 使用
PerScreenDPI=True

# Font (设置成你喜欢的字体)
Font="MiSans Medium 13"

# 主题(贴近Win10微软输入法)
Theme=Material-Color-Blue

# Theme=Material-Color-Pink
# Theme=Material-Color-Blue
# Theme=Material-Color-Brown
# Theme=Material-Color-DeepPurple
# Theme=Material-Color-Indigo
# Theme=Material-Color-Red
# Theme=Material-Color-Teal
# Theme=Material-Color-Black
# Theme=Material-Color-Orange
# Theme=Material-Color-SakuraPink
EOF

# 配置aria2c令其可以正常运行
sudo mkdir -p /etc/aria2
sudo su - -c 'echo >/etc/aria2/aria2.session'
sudo su - -c 'cat<<EOF>>/etc/aria2/aria2.conf

##全局设置 ## ============================================================
# 日志
#log-level=warn
#log=/PATH/.aria2/aria2.log

# 后台运行
#daemon=true

# 下载位置, 默认: 当前启动位置(***)
dir=/home/***/Downloads

# 从会话文件中读取下载任务(***)
input-file=/etc/aria2/aria2.session

# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件(***)
save-session=/etc/aria2/aria2.session

# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=30

# 断点续传
continue=true

# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
#disk-cache=32M

# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=none
https://www.jianshu.com/p/6adf79d29add
# 客户端伪装
user-agent=netdisk;5.2.6;PC;PC-Windows;6.2.9200;WindowsBaiduYunGuanJia
referer=http://pan.baidu.com/disk/home

# 禁用IPv6, 默认:false
disable-ipv6=true

# 其他
always-resume=true
check-integrity=true

## 1. 下载位置 ## ============================================================
# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=10

# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=10

# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M

# 单个任务最大线程数, 添加时可指定, 默认:5
split=5

# 整体下载速度限制, 运行时可修改, 默认:0
#max-overall-download-limit=0

# 单个任务下载速度限制, 默认:0
#max-download-limit=0

# 整体上传速度限制, 运行时可修改, 默认:0
#max-overall-upload-limit=0

# 单个任务上传速度限制, 默认:0
#max-upload-limit=0

## 1. RPC设置 ## ============================================================
# 启用RPC, 默认:false
enable-rpc=true

# 允许所有来源, 默认:false
rpc-allow-origin-all=true

# 允许非外部访问, 默认:false
rpc-listen-all=true

# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
#event-poll=select

# RPC监听端口, 端口被占用时可以修改, 默认:6800
rpc-listen-port=6800

# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
#rpc-secret=<TOKEN>

# 是否启用 RPC 服务的 SSL/TLS 加密,
# 启用加密后 RPC 服务需要使用 https 或者 wss 协议连接
#rpc-secure=true

# 在 RPC 服务中启用 SSL/TLS 加密时的证书文件,
# 使用 PEM 格式时,您必须通过 --rpc-private-key 指定私钥
#rpc-certificate=/path/to/certificate.pem

# 在 RPC 服务中启用 SSL/TLS 加密时的私钥文件
#rpc-private-key=/path/to/certificate.key

## 1. BT/PT下载相关 ## ============================================================
# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
#follow-torrent=true

# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
listen-port=51413

# 单个种子最大连接数, 默认:55
#bt-max-peers=55

# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=false

# 打开IPv6 DHT功能, PT需要禁用
#enable-dht6=false

# DHT网络监听端口, 默认:6881-6999
#dht-listen-port=6881-6999

dht-file-path=/opt/var/aria2/dht.dat
dht-file-path6=/opt/var/aria2/dht6.dat

# 本地节点查找, PT需要禁用, 默认:false
#bt-enable-lpd=false

# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=false

# 每个种子限速, 对少种的PT很有用, 默认:50K
#bt-request-peer-speed-limit=50K

# 设置 peer id 前缀
peer-id-prefix=-TR2770-

# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=1.0

# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false

# BT校验相关, 默认:true
#bt-hash-check-seed=true

# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true

# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true

bt-max-open-files=16

# Http/FTP 相关
connect-timeout=120

EOF'

sudo chmod 755 /etc/aria2 /etc/aria2/aria2.conf
sudo chmod 666 /etc/aria2/aria2.session

# 配置一下hosts文件
sudo su - -c 'cat<<EOF>>/etc/pacman.conf

# https://www.ipaddress.com
# GitHub Start
#140.82.113.3       github.com
140.82.114.20       gist.github.com
185.199.108.154     githubassets.com
#151.101.184.133    assets-cdn.github.com
#151.101.184.133    raw.githubusercontent.com
#151.101.184.133    gist.githubusercontent.com
#151.101.184.133    cloud.githubusercontent.com
#151.101.184.133    camo.githubusercontent.com
#199.232.96.133     avatars.githubusercontent.com
#151.101.184.133    avatars0.githubusercontent.com
#199.232.68.133     avatars0.githubusercontent.com
#199.232.28.133     avatars1.githubusercontent.com
#151.101.184.133    avatars1.githubusercontent.com
#151.101.184.133    avatars2.githubusercontent.com
#199.232.28.133     avatars2.githubusercontent.com
#151.101.184.133    avatars3.githubusercontent.com
#199.232.68.133     avatars3.githubusercontent.com
#151.101.184.133    avatars4.githubusercontent.com
#199.232.68.133     avatars4.githubusercontent.com
#151.101.184.133    avatars5.githubusercontent.com
#199.232.68.133     avatars5.githubusercontent.com
#151.101.184.133    avatars6.githubusercontent.com
#199.232.68.133     avatars6.githubusercontent.com
#151.101.184.133    avatars7.githubusercontent.com
#199.232.68.133     avatars7.githubusercontent.com
#151.101.184.133    avatars8.githubusercontent.com
#199.232.68.133     avatars8.githubusercontent.com
#199.232.96.133     user-images.githubusercontent.com
# GitHub End

# OneDrive
13.107.42.13     onedrive.live.com

# Dropbox
74.36.30.67 dropbox.com
174.36.30.71 www.dropbox.com
75.101.129.115 dl.dropbox.com
75.101.159.151 dl-web.dropbox.com
174.36.30.67 forums.dropbox.com

EOF'

# 安装完成后刷新一下源写盘重启
sudo pacman -S --noconfirm archlinuxcn-keyring
sync
reboot

参考文章:

特别鸣谢:

  • 感谢 Manjaro Linux CN 群组中的大佬耐心的指点

相关知识:

本人萌新,还请各位大佬悉心指点
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇