Manjaro 开发环境配置和使用技巧

为什么选择Manjaro

DistroWatch全球排名第一的发行版

基于Arch Linux,继承其先进的pacman包管理系统,丰富的软件仓库和良好的社区支持,中国源中有大量的国内常用软件,具备天然开发的环境和能力,包括gcc、cc编译工具,代码同步工具git,svn,定制化程度很高,有很多可选的主题和桌面特效,与Arch不同源,一定程度上规避了滚挂的风险 。

使用的版本为 KDE Plasma 桌面版本。

配置国内镜像源

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

这时候会弹出来一个窗口,选择最快的那个就行

通过手动的方式配置 ArchLinux 源:

sudo pacman -Sy vim
sudo vim /etc/pacman.conf

在底部插入:

[archlinuxcn]
SigLevel = Never
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
#这里是中科大,清华源为: Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

保存后执行:

sudo pacman -Syy
sudo pacman -Sy archlinuxcn-keyring
sudo pacman -Syyu #更新系统

搜狗输入法安装

sudo pacman -Sy fcitx-im fcitx-configtool yay base-devel
yay -S fcitx-sogoupinyin

新增一个配置文件 ~/.pam_environment

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx

注销,重新登录即可。

安装 OhMyZsh

sudo pacman -Sy zsh
yay -S autojump

由于未翻墙访问 raw.githubcontent.com 会有一些问题。

手动下载: https://github.com/ohmyzsh/ohmyzsh/blob/master/tools/install.sh

然后执行:

chmod +x install.sh
./install.sh

推荐主题:powerlevel10k

sudo pacman -S nerd-fonts-complete
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

修改 .zshrc

ZSH_THEME="powerlevel10k/powerlevel10k"

插件推荐

git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
echo "source $ZSH_CUSTOM/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc

sudo # 双击esc在命令前添加sudo
autojump # cd到之前去过的目录
bat # 高亮查看文件,代替cat

依然修改.zshrc

# 搜索并添加
plugins=(zsh-autosuggestions autojump git sudo)

Colorls 插件:

文档参考: https://github.com/athityakumar/colorls

sudo pacman -S ruby
gem install colorls

依然修改配置.zshrc

#底部添加,记得修改对应的 PATH 路径
export PATH=$PATH:/home/willin/.local/share/gem/ruby/3.0.0/bin
alias vi="vim"
alias ls="colorls"
alias ll="colorls -l"
alias la="colorls -a"
alias lg="colorls --gs -at"

安装 VirtualBox

首先安装 linux-headers

yay -S virtualbox-ext-oracle

然后安装本机内核对应的virtualbox的内核模块:

比如内核是5.10,则安装 linux510-virtualbox-host-modules,在添加/删除软件中可以找到

最后:

yay -S virtualbox-ext-oracle

常用软件安装

pacman 安装各种依赖。 yay 安装各种软件。

yay -S visual-studio-code-bin
yay -S typora # markdown编辑器
yay -S google-chrome
yay -S com.dingtalk.deepin
yay -S keybase-bin
yay -S mongodb-compass # mongodb客户端
yay -S redis-desktop-manager # redis客户端
yay -S deepin-screenshot # 截图
yay -S net-tools # 使用netstat、ifconfig等命令

其他问题

终端字体过宽

KDE 版本中不存在该问题,可跳过。

sudo pacman -Sy wqy-bitmapfont wqy-zenhei

休眠无法唤醒

建议修改电源设置,禁止休眠。

修改Home下的目录为英文

sudo pacman -S xdg-user-dirs-gtk
export LANG=en_US
xdg-user-dirs-gtk-update
# 然后会有个窗口提示语言更改,更新名称即可
export LANG=zh_CN.UTF-8
# 然后重启电脑如果提示语言更改,保留旧的名称即可

GitHub加速:

https://www.cnblogs.com/july-sunny/p/13697156.html#3.-github-%E5%8A%A0%E9%80%9F%E4%B8%8B%E8%BD%BD

Docker 需要 sudo 才能执行

安装

# Pacman 安装 Docker
sudo pacman -S docker

# 启动docker服务
sudo systemctl start docker 


# 查看docker服务的状态
sudo systemctl status docker


# 设置docker开机启动服务
sudo systemctl enable docker

安装docker-compose

# 下载
sudo curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 修改权限
sudo chmod +x /usr/local/bin/docker-compose 
# 查看
docker-compose -v 

设置当前用户权限

# 如果还没有 docker group 就添加一个
sudo groupadd docker

# 将自己的登录名(${USER} )加入该 group 内。然后退出并重新登录就生效啦
sudo gpasswd -a ${USER} docker

# 重启 docker 服务
sudo systemctl restart docker

# 切换当前会话到新 group 或者重启 X 会话
# 注意,这一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker images 执行时同样有错。
newgrp - docker

Manjaro 很多时候涉及到权限的设置,都需要注销或者重启后才能生效。。

设置镜像源

sudo vim /etc/docker/daemon.json

插入镜像源:

{
	"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

然后重启 Docker 服务。

软件/环境

yay 命令安装: AUR 上搜索 https://aur.archlinux.org/packages/

或者通过添加/删除软件:首选项 - Third Party 中启用 AUR 支持。

img

减少差异化 —— EditorConfig

官网: https://editorconfig.org/

推荐配置:

root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[Makefile]
indent_style = tab

下面补充其中的一些必要概念。

Charset 编码格式

推荐使用: utf-8

部分系统默认的文件编码格式可能为 GBKGB18030

Indent

代码缩进。推荐方式为,以空格(2字节)代替 Tab制表符。

在 Unix 内核系统中,会经常使用到 Makefile 文件,该文件格式中, indent_style 必须保持 tab

End of Line

行尾格式,Windows 下默认为 CRLF, 其他系统下为 LF。所以建议统一使用 LF

其他建议

  • 文件结尾保持为新换行符
  • 去除无意义的空格符

终端

与 Windows 下最大的区别在于,Linux 不依赖图形化操作界面,所有的操作,都可以在终端中高效地完成。

常用快捷键

  • CTRL+A:跳到行首,相当于 HOME功能键

  • CTRL+E:跳到行尾,相当于 END 功能键

  • CTRL+SHIFT+C/V: 复制、粘贴(仅在终端中,外部依然是 CTRL+C/V

Profile、Shell、ZSH

比如用的 zsh,那么配置文件就是~/.zshrc

alias

设置别名,如:

alias k=kubectl
alias lg="colorls --gs -at"

演示效果:

img

这里用到了 colorls 插件(需要 Ruby 环境)。

exports

设置环境变量,如:

export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:/home/willin/.local/share/gem/ruby/3.0.0/bin
export PATH=$PATH:/home/willin/Documents/WhiteMatrix/meditrust-chaincode/fabric-samples/bin

autojump

需要安装该插件。

# 跳转到最近访问的目录
j .

# 搜索(从终端访问记录中)并跳转,不区分大小写
j whi 
# > /home/willin/Documents/WhiteMatrix

grep

从结果中过滤,如

ps -aux | grep node
# 只显示包含 node 关键词的结果

常用命令

  • kill、killall: 杀死进程

  • ps:进程使用

  • free: 内存使用

  • top: 系统使用,也可以安装 htop 更直观显示

  • netstat:网络使用

  • ifconfig:网络配置

  • wget、curl:下载

  • ssh:会话连接

  • cat、vim等:文件读写操作

  • tar:压缩包操作

  • neofetch:系统概要

系统配置

窗口标题栏按钮

窗口标题栏可自定义。

系统设置-外观-窗口装饰元素-标题栏按钮

img

如图,我在标题栏左右两侧均按照自己的喜好布置了常用的一些功能操作。

任务切换器

就是按住 ALT+TAB 进行窗口切换的相关配置。

系统设置(工作区)-窗口管理-任务切换器

可以设置切换风格、快捷键、过滤条件等。

p.s. 窗口管理下的设置可以都看看,对于灵活化定制系统有一定帮助。

触发角

与 MacOS类似。

系统设置(工作区)-工作区行为-屏幕边缘

虚拟桌面

即不同的工作区。

系统设置(工作区)-工作区行为-虚拟桌面

不同于 MacOS 中,可以通过鼠标、触摸板上的快捷键进行快速切换,需要配合快捷键进行使用。

系统快捷键

系统设置(工作区)-快捷键-快捷键

p.s. 其中 Meta 键对应 Windows 下的 WinKey 键。

Yakuake

  • F12:快捷终端

KRunner

  • ALT+Space: 搜索、快捷启动

KWin

  • Meta+上/下/左/右:将窗口快速铺至上/下/左/右方

  • Meta+Ctrl+Shift+上/下/左/右:将窗口移动至上/下/左/右一个桌面(即虚拟桌面功能)

    • 推荐自定义其他快捷键
  • Ctrl+F1/F2/F3/F4:切换至桌面 1、2、3、4

推荐自定义快捷键的功能:

  • 最大化窗口:自定义快捷键 Meta+W

  • 最小化窗口:可以使用 Meta+Shift+W 或者 Meta+Alt+W 或者 Meta+Alt+Down

    • (根据个人喜好,因为 PageUp、PageDown 功能键在 87 及以下的键盘中没有)
  • 切换到上一个桌面:Meta+Shift+Up

  • 切换到下一个桌面:Meta+Shift+Down

Konsole

Ctrl+Alt+T 打开终端 也可以自己配置

  • Ctrl+Shift+( 拆分终端

  • Ctrl+Shift+T新标签

  • Ctrl+Shift+N 新窗口

  • Ctrl+Shift+W 关闭终端

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Arch LinuxManjaro 都是基于 Linux 内核的操作系统。Arch Linux 是一个轻量级的、自由的、开源的操作系统,它的设计目标是简单、灵活、可定制。Manjaro 是基于 Arch Linux 的操作系统,它的设计目标是易用性和用户友好性,提供了一个易于安装和使用的桌面环境。两者都有着强大的社区支持和软件包管理系统,可以满足用户的各种需求。 ### 回答2: Arch LinuxManjaro 都是流行的 Linux 发行版,它们有着相似之处,但也有些许不同。 首先,Arch Linux 是一个轻量级、高度自定义的发行版,它的设计理念是提供一个干净、简单的基础系统,并鼓励用户根据自身需要进行个性化配置。Arch Linux 使用 Rolling Release 模式,意味着没有版本发布,而是通过持续更新软件包来保持系统处于最新状态。这也意味着用户需要频繁更新系统以获取最新的补丁和功能。 然而,对于一些新手来说,Arch Linux 可能会有一定的学习曲线,因为它需要用户手动配置和安装软件包。这也是 Manjaro 的出现目的之一,Manjaro 是基于 Arch Linux 的发行版,致力于简化安装和使用过程。Manjaro 提供了一个易于使用的图形化安装程序,以及预先配置好的桌面环境和一系列常用软件。Manjaro 也是一个 Rolling Release 发行版,但相对于 Arch Linux,它会有一些延迟以确保系统稳定性。 另一个不同点是软件仓库的管理。Arch Linux 使用官方的软件包管理器 Pacman,它具有强大的功能和较高的自定制能力。Manjaro 则使用了一个称为 Pamac 的图形化软件包管理器,为用户提供了更简单和直观的软件包安装和管理界面。 总体而言,Arch Linux 适合那些乐于自定义和深入学习 Linux 的用户,而 Manjaro 则更加注重易用性和稳定性,适合那些希望使用 Arch Linux 的基础系统但又不愿意投入太多精力进行配置的用户。无论选择哪个发行版,都要根据个人需求和技术水平进行考虑。 ### 回答3: Arch LinuxManjaro都是流行的Linux发行版本。 Arch Linux是一种面向高级用户的发行版,注重灵活性和自定义。它遵循“滚动发布”模型,这意味着用户可以持续获得最新的软件包和更新。Arch Linux以其极简的设计和文档详尽而闻名,因此,它对于那些希望完全控制自己系统的技术人员来说是理想的选择。然而,考虑到开发和维护所需的技术知识,Arch Linux对新手可能会有一定的学习曲线。 Manjaro则建立在Arch Linux的基础上,旨在提供一个更易用和用户友好的发行版。它保留了Arch的灵活性和自定义性,但简化了安装和配置过程。相比于Arch Linux的持续滚动版本,Manjaro采用了稳定版本发布策略,每隔几个月发布一个稳定版本,使得用户可以更轻松地管理和维护自己的系统。Manjaro还附带了一套预装的软件包,以满足常见的用户需求,同时还提供了易于使用的图形界面工具来管理系统和软件。 选择使用Arch Linux还是Manjaro,取决于你的需求和技能水平。如果你是一个有经验的用户,喜欢自由和定制性,那么Arch Linux可能更适合你。如果你是一个相对新手,或者希望拥有一个稳定、易用的Linux系统,那么Manjaro是一个更好的选择。无论选择哪个发行版,都有一个活跃的社区支持和丰富的文档资源可供参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Willin 老王带你躺平养老

感谢你这么好看还这么慷慨

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值