前段时间买了个 Inter NUC (NUC10i5FNH6), 主要用来在家里搬砖。体验了一段时间 win10, 虽然配置了 WSL2, 但开发体验实在糟糕,在考虑过 Ubuntu 和黑苹果后,还是选择了 Ubuntu, 毕竟用习惯了白苹果,突然用个黑苹果,不能随意升级,还有接一个 USB WiFi ,还担心驱动问题。。。
NUC 用了一段时间,还是有点卡,CPU跟不上。 最后还是组装了一台台式主机,将原来的系统盘查上去直接就可使用,爽到飞起。 至于NUC就当服务器用了。
毕竟头一次想把 Ubuntu 当作生产力,记录一下折腾过程。
配置篇
配置 | |
---|---|
CPU | |
显卡 | |
内存 | |
磁盘 | Intel 760p 512G + 三星 860 EVO 500G |
系统篇
安装双系统
双系统安装很简单,网上教程视频很多,这里主要说一下我的 Ubuntu 怎么分区的。
我分了 200G 磁盘给 Ubuntu, 其中:
根目录 (/) - 120G
主要是系统和软件,还是比较吃空间的。
HOME (/home) - 79G
桌面,文档等一些东西,差不多够用了。不够再把其他分区挂载进来存东西就行了。
BOOT (/boot) - 1G
其实现在都用了LVM,BOOT直接放根目录一起也可以了,但我还是给了1G。
至于SWAP分区,我看了以下SWAP分区的作用(内存交换,内存不足就把一部分硬盘虚拟成内存使用),emmm… 貌似我……64G的内存我目前还用不完,索性不分了。
系统设置
软件源设置国内的(关于->Software Updates->Ubuntu软件->下载自);
我选了一个阿里的,感觉速度还可以。
软件更新频率等按自己偏好设置一波;
Dock栏放右边;
磁盘挂载
我想在 Linux
下查看原来 Win
的文件,找到磁盘,挂载即可。
# 找磁盘
sudo fdisk -l
设备 起点 末尾 扇区 大小 类型
/dev/nvme0n1p1 2048 1085439 1083392 529M Windows 恢复环境
/dev/nvme0n1p2 1085440 1290239 204800 100M EFI 系统
/dev/nvme0n1p3 1290240 1323007 32768 16M Microsoft 保留
/dev/nvme0n1p4 1323008 419337986 418014979 199.3G Microsoft 基本数据
/dev/nvme0n1p5 419338240 420745215 1406976 687M Windows 恢复环境
/dev/nvme0n1p6 420747264 1000212479 579465216 276.3G Microsoft 基本数据
如,按照分区顺序,大小,我这里基本可以确认 /dev/nvme0n1p4
是 C 盘, /dev/nvme0n1p6
是 D 盘。
# 建一个目录 挂载
sudo mkdir /mnt/d
sudo mount /dev/nvme0n1p6 /mnt/d
这只是临时挂载,重启系统需要再次执行挂载命令。启动时自动挂载需要修改文件/etc/fstab
。
sudo vim /etc/fstab
# 加入如以下(我这里是ntfs系统,如果FAT32,把ntfs改成vfat即可)
/dev/nvme0n1p6 /mnt/d ntfs defaults 0 0
CAPS 与 CTRL 键位互换
sudo vi /usr/share/X11/xkb/keycodes/evdev
搜索 <CAPS>
和 CTRL
, 并互换后面的数字。
...
<CAPS> = 37;
...
<LCTL> = 66;
注销,重新登录生效。
安装L2TP/IPSec VPN
公司办公用的是这个VPN,在家要处理一些事情需要连接。
sudo add-apt-repository ppa:nm-l2tp/network-manager-l2tp
sudo apt update
sudo apt install -y network-manager-l2tp network-manager-l2tp-gnome
安装后就可以直接在 设置>网络> VPN > ‘+’ > ‘第2层隧道协议(L2TP)’ 中添加了。
环境变量
在home目录下建一个 .bash_profile
放自定义的环境变量,并在启动终端时自动应用。
cd
touch .bash_profile
echo "source \$HOME/.bash_profile" >> .zshrc
字体设置
长时间搬砖,字体一定得看着束缚。 个人偏好CamingoCode
字体。更多字体
sudo apt install -y font-manager
字体下载好后,打开安在,在IDE/终端内设置该字体即可。
科学上网
为了面向 Google , Stackoverflow 编程, 科学上网必不可少。我用的这家,¥90多一年,速度够用。
换个Grub2主题
也就是开机选择系统的界面主题。
主题 breeze。 更换步骤如下。
# 下载
git clone git@github.com:gustawho/grub2-theme-breeze.git
# 主题移到合适位置
sudo mkdir /boot/grub/themes
sudo cp -r grub2-theme-breeze/breeze /boot/grub/themes/breeze
# 修改默认配置
sudo vim /etc/default/grub
# 添加如下
GRUB_THEME="/boot/grub/themes/breeze/theme.txt"
# 配置
sudo grub-mkconfig -o /boot/grub/grub.cfg
修改开机启动顺序
默认 Win,毕竟有时候家人也要用。但默认配置是
- Ubuntu
- Ubuntu 的高级选项
- Windows
- EFI 设置
看着难受,必须把 Win 第一, Ubuntu第二。
很简单,修改 /boot/grub
即可。
# 该文件是只读的, 给一个修改权限
sudo chmod u+w /boot/grub/grub.cfg
# 修改文件
sudo vim /boot/grub/grub.cfg
menuentry 'xxx' {}
就对应显示的一个启动菜单, 把menuentry 'Windows Boot Manager xxx {}'
移动到menuentry 'Ubuntu' xxx {}
之前 :wq
保存即可。
# 恢复只读权限
sudo chmod u-w /boot/grub/grub.cfg
上面的方式,在系统更新 grub 后,或
sudo update-grub
之后会失效(grub.cfg 文件被更新了)。推荐使用下面的方式,即 修改配置文件
/etc/default/grub
, 设置GRUB_DEFAULT=2
, 这里的2
是 win 在启动界面的顺序,从上到下0,1,2
。# sudo vim /etc/default/grub GRUB_DEFAULT=2 GRUB_TIMEOUT_STYLE=hidden GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX=""
顶部状态栏显示CPU等监控信息
效果如下:
其实这只是桌面系统gnome
的一个插件,我们只需要安装一个 Chrome 浏览器插件GNOME Shell integration
和 本地的代理chrome-gnome-shell
就可以在https://extensions.gnome.org/
上安装、管理你的桌面插件。
Chrome 浏览器插件 -> chrome-gnome-shell ;
本地代理安装
sudo apt install chrome-gnome-shell
安装完成后,打开 https://extensions.gnome.org ,搜索 system-monitor
,打开开关,状态栏就有了,可以点击设计按钮设置喜欢的样式。
软件篇
Chrome
最喜欢的浏览器还是Chrome, 直接下载 .deb 包安装。
Typora
没错,Markdown 就用它,简洁而强大。
# or run:
# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
# add Typora's repository
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt update
# install typora
sudo apt install -y typora
Flameshot
很强大的一款截图软件,写文档需要标注,说明,马赛克等等,很实用。
sudo apt install -y flameshot
Enpass
一款仅次于 1password 的密码管理软件。 由于是早期付费用户(¥80全平台==),还是享受到一定优惠的。
sudo - i
echo "deb https://apt.enpass.io/ stable main" > /etc/apt/sources.list.d/enpass.list
wget -O - https://apt.enpass.io/keys/enpass-linux.key | apt-key add -
apt update
apt install -y enpsudo vi /usr/share/X11/xkb/keycodes/evdevass
exit
SwitchHosts
一款 Electron
写的跨平台 Hosts
管理软件,管理/切换 Hosts
很方便。
images/PNG image.png
SMB服务
手机与 Linux
怎么快速传文件,我考虑用了 SMB
。 正好苹果手机的文件
支持连接SMB
服务。
# 安装
sudo apt-get install -y samba samba-common
# 设置一个共享文件夹
mkdir /home/razeen/wspace/share
# 权限放开
sudo chmod 777 /home/razeen/wspace/share -R
# 添加用户, 需要输入密码
sudo smbpasswd -a razeen
New SMB password:
Retype new SMB password:
Added user razeen.
# 配置
sudo vim /etc/samba/smb.conf
# 我简单设置了一下
[ubuntu]
comment = ubuntu share dir
path = /home/razeen/wspace/share
public = yes
writable = yes
# 重启服务
sudo systemctl restart smbd.service
# 开机自启
systemctl enable smbd.service
在手机直接输入 smb://你的ip
浏览器提示打开文件
应用, 确认,然后进去输入刚刚设置的账户以及密码即可。然后手机中的文件就可以直接分享到电脑,电脑上的文件拖到共享文件夹可以快速下载。
搬砖工具篇
oh-my-zsh
高效,美观的终端,就靠它了。
先安装 zsh , git
编译
sudo apt install zsh git
再安装 oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
设置启动时自动进入 zsh
在 首选项 -> 配置文件 -> 运行自定义命令而不是shell -> 自定义命令 输入 zsh
。
tmux
分屏,Session, 多缓存区,高效管理终端,终端复用 用它没错。
sudo apt install -y tmux
配置还在摸索,Mac
上的不适用了,后面再单独整理一篇文章。
vim
效率,极客之选。
sudo apt install -y vim
同上,配置还在摸索,Mac
上的不适用了,后面再单独整理一篇文章。
docker
安装。
sudo apt update
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
把 docker 加入当前用户组,然后重启,用非 root 运行 docker。
sudo usermod -aG docker $USER
添加国内的镜像源。
sudo vim /etc/docker/daemon.json
# 163
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
# 重启 docker服务
systemctl restart docker.service
# 自启动
systemctl enable docker.service
VSCode 配置
好用,没话说。直接官网下载,点击安装。
Golang 篇
作为主力编程语言,不能怠慢。
从源码安装
必须从源码安装,掌控每个细节。
通商准备工作
给自己建一个工作区, 以及相关目录
cd
# go 相关目录
mkdir -p wspace/source/go \
wspace/source/go14 \
wspace/go/src \
wspace/go/bin
# 相关环境变量
echo '
# 我的工作区
export WSPACE=$HOME/wspace
# 源码文件
export SOURCECODE=$WSPACE/source
# go 安装引导
export GOROOT_BOOTSTRAP=$SOURCECODE/go14
# go root
export GOROOT=$SOURCECODE/go
# go path
export GOPATH=$WSPACE/go
# go bin
export GOBIN=$GOPATH/bin
# go module
export GO111MODULE=on
# go proxy
export GOPROXY=https://goproxy.io,direct
# cgo
export CGO_ENABLED=0
# PATH
export PATH=$PATH:$GOROOT/bin:$GOBIN
' >> .bash_profile
source .bash_profile
下载Go1.4引导
curl https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz -v -o go1.4.tar.gz
tar -zxvf go1.4.tar.gz
mv go/* $GOROOT_BOOTSTRAP
rm -fr go go1.4.tar.gz
cd $GOROOT_BOOTSTRAP/src
./all.bash
下载源码并编译
git clone https://go.googlesource.com/go $GOROOT
cd $GOROOT
git checkout go1.15
cd src
./all.bash
go version