Ubuntu22.04办公环境初始设置记录
1. 前言
这周末刚从Windows办公环境切换到 Ubuntu 22.04,有些东西还是比较折腾,记录一下便于以后查找。
2. 安装时的分区设置
从一块完整的新硬盘安装Ubuntu单系统时,只需要以下分区:
- ESP分区(EFI System Partition),设为200MB即可,是GPT分区表存储的位置。UEFI引导的系统都需要这个分区。
- 根分区
/:懒人可以直接把硬盘的剩余部分全部设为根分区,就结束了,可以直接安装了; - 用户分区
/home:谨慎一点的人可能需要把系统和用户文件分成两个区,这样的好处是,如果哪天Linux系统不小心被玩崩了,可以直接把系统分区格式化重新装一个Linux,然后还能继续用原来的/home。如果要这样做的话,挂载点/就只需要大约64GB的分区即可,剩余部分再设一个新的分区用于挂载/home。
3. NVIDIA显卡相关
3.1. 显卡驱动
sudo apt install nvidia-driver-525
我这里安装的是闭源版本的驱动,除此之外还有开源(-open)和服务器(-server)版本的驱动。
3.2. 外接显示器
一般来说Ubuntu会自动管理外接显示器。但是我是使用了一个外接显卡坞(eGPU),于是就产生了多显卡交火的问题。需要自己改X11配置,还很复杂,并且有两种选项(用内置显卡管理显示还是外置显卡管理显示),见https://wiki.archlinux.org/title/External_GPU。
好在有个开源项目,可以在开机时自动检查外接显卡有没有连接,并根据检查结果自动选择是否要修改X11配置文件。
见:https://github.com/hertg/egpu-switcher
按照其说明安装配置即可。
3.3. 外接数字音频
我在显示器上挂了一个音响,音频应该从DP输出到显示器。但是不知道是不是eGPU的问题,声音设置里总是只能选内置音响。外置音响没有声音。
看到一个讨论说可能是电源管理的问题,把Nvidia自动电源管理关掉就好了:https://forums.developer.nvidia.com/t/no-option-for-audio-over-displayport-hdmi/175889/2
在/lib/udev/rules.d/里找到nvidia的配置,把auto全改成on,然后sudo update-initramfs -u即可。
这只是个Workaround,如果驱动更新了,文件会被覆盖,要重新设置一遍。
4. OneDrive
Onedrive Linux客户端:https://github.com/abraunegg/onedrive
这个客户端的图形化界面:https://github.com/bpozdena/OneDriveGUI
装好客户端后再装GUI,然后直接启动GUI配置即可。
注意这个客户端的认证方式是先弹出一个页面,登陆微软账号后,会跳转到一个空白页面。这个空白页面的url含有token,直接把整个url拷贝下来粘贴回客户端就可以了。命令行和GUI都是这样认证的。
接下来的问题是开机自启动。由于这是个GUI程序,不要用systemd去做自启动,更不要用那些什么放到~/.bashrc里面自启动的方法。
直接命令行输入gnome-session-properties,在弹出的窗口中添加图形化开机自启动项即可。
GUI本身还有很多可以设置的项目,比如静默启动,启动时同步文件等,可自行设置。
5. Edge
Windows上面Edge用习惯了,继续使用:https://www.microsoft.com/en-us/edge/business/download?form=MA13FJ
5.1 PWA
PWA(Progressive Web Apps),类似于微信小程序,但是看起来更干净点。实际上是通过Web浏览器提供统一的跨平台的应用体验。

可以在地址栏或者Apps视图中把当前页面添加为PWA(前提是此页面支持这样做)。
安装完毕的应用会出现在Ubuntu的Applications中。也可以添加到Dock里:

使用体验还是不错的,就是只能最小化到Dock,无法最小化到托盘:

并且像Outlook这种,也可以在设置里打开桌面通知,从而实现:只要Edge开着,就算PWA没有打开,也可以在Ubuntu通知里接收到新邮件提醒
6. 善用商店
Ubuntu目前的Snap Store估计是想做成App Store或者微软商店那样的形式。总之一些图形化软件在这里面安装比较好,统一管理,也方便升级。
目前我安装的有:
- IMAP/SMTP邮件客户端:Thunderbird
- Thunderbird的托盘插件:BirdTray。装这玩意的时候还会又装个旧版的Thunderbird,真的离谱。在它的Advance设置里面,把Thunderbird的路径改成
/snap/bin/thunderbird,就是snap商店里下的了 - HTTP API测试客户端:Postman
- 代码编辑器:VS Code
- 外观设置:tweaks 和 Extensions,本文不多介绍了
7. 修复汉字错误
当系统是英文时,浏览一些中文网站显示中文会出现错误,如“复”、“径”等字,因为这些字会按照日文汉字进行显示。
需要调整汉字字体匹配的顺序,让系统优先显示汉字。修复方式见:https://blog.csdn.net/qq_46753404/article/details/118061311
8. DNS设置
科学的工具,不能多说。只记录。如果你不知道在做什么,跳过这步。
由于用TUN,不用系统代理。Linux DNS服务器要设成本地:
/etc/systemd/resolved.conf
DNS=127.0.0.1
FallbackDNS=114.114.114.114
DNSStubListener=no
剩下的就看:https://www.xkww3n.cyou/2022/02/08/use-clash-dns-anti-dns-hijacking/
9. 其他开发环境
sudo apt install build-essential
sudo apt install git
sudo apt install cmake
sudo apt install default-jre # SES的Configuration Wizard 以及 STM32CubeMX需要Java运行环境
10. zsh
比较喜欢用zsh,插件很方便(自动显示git状态,历史命令自动补全等)
安装zsh和oh-my-zsh
sudo apt install zsh
sh -c "$(wget https://gitee.com/Devkings/oh_my_zsh_install/raw/master/install.sh -O -)"
安装插件并自动拷贝到oh-my-zsh下
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
配置
vim ~/.zshrc
修改配置
ZSH_THEME="ys"
plugins=(git sudo zsh-autosuggestions zsh-syntax-highlighting)
zsh-syntax-highlighting必须位于最后
11. 文件资源管理器右键菜单
GNOME自带的文件资源管理器是nautilus,命令行输入nautils,跟直接双击点开文件管理器是一样的。
11.1. 右键菜单添加“新建文件”选项
~/Templates目录下存放右键菜单新建文件的模板。
cd ~/Templates
touch "New-Document"
然后重启文件管理器,右键点击空白处,就可以看到新建文件的菜单了。新建的文件就是这个模板文件。
11.2. 右键菜单添加“Open with Code”选项
这样右键能直接打开VS Code
需要自己编译一个nautilus插件,来自:https://github.com/realmazharhussain/nautilus-code
首先确保电脑上已经有Python3、git和VS Code。
然后安装依赖:
sudo apt install meson
sudo apt install sudo apt install python3-nautilus
找个地方克隆源码并编译安装:
git clone --depth=1 https://github.com/realmazharhussain/nautilus-code.git
cd nautilus-code
# 这一步会检查编译环境是否满足要求
meson setup build
# 这一步会把插件安装到位
meson install -C build
结束后重启电脑,再打开文件管理器,右键点击空白处,右键菜单就能看到有“Open in VSCode”选项出现了。
这个插件还支持其他IDE或者编辑器,都是自动识别的。具体清单见其github页面。
12. 环境变量
很多时候开发环境我们需要给PATH环境变量追加内容。临时追加就是在命令行中直接输入即可,如果要永久增加,很多教程是让我们添加到~/.bashrc或者/etc/profile 里面了。(如果用zsh,就添加到~/.zshrc里面)
但是要注意到的是,现在的Linux除了命令行环境以外,还有systemd和桌面环境。比如前面提到的“右键菜单打开VS Code”的操作,这种方式打开的VS Code将会继承gnome桌面的环境变量,而不会继承bash或者zsh的。这就会导致一些vscode的task命令出现问题(比如nRF Connect SDK的build按钮等)。
为了解决这个问题,目前最推荐的方式是把环境变量添加到~/.config/environment.d/envvars.conf即可。
PATH=${HOME}/gn:$PATH
PATH=${HOME}/.local/bin:$PATH
PATH=/opt/nrf-command-line-tools/bin/:$PATH
注意:
- 这是配置文件而不是脚本,所以直接写赋值语句即可,不需要再写
export - 配置文件中不能用
~,而应该使用${HOME} - 这个环境变量只会对当前用户的命令行、桌面、systemd环境生效,不会对其他用户如root用户生效。
参考:https://wiki.archlinuxcn.org/wiki/环境变量
13.QQ和微信
原生Linux版QQ,官方网站见 https://im.qq.com/linuxqq/download.html
原生Linux版微信,目前官方未在Ubuntu发布,但可以用铜豌豆应用商店安装,见https://zhuanlan.zhihu.com/p/690854988
14. 腾讯会议
下载到Linux版腾讯会议deb包之后,如果提示“检测到窗口系统采用wayland协议,腾讯会议暂不兼容,程序即将退出!”
说明需要关闭Wayland,启用Xorg窗口。
sudo vim /etc/gdm3/custom.conf
# 去掉下面这行的注释
WaylandEnable=false
# 重启图形界面(注意,所有图形化程序都会被关闭)
sudo service gdm3 restart
Ubuntu22.04办公环境初始设置记录的更多相关文章
- ubuntu 12.04中环境变量设置
Persistent environment variables So far we've only discussed ways set an environment variable value ...
- 在Ubuntu 16.04 安装python3.6 环境并设置为默认
在Ubuntu 16.04 安装python3.6 环境并设置为默认 1.添加python3.6安装包,并且安装 sudo apt-get install software-properties-co ...
- 带有pwn环境的Ubuntu22.04快速安装
pwn环境ubuntu22.04快速安装(有克隆vmk) ubuntu更新到了22.04版本,经过本人测试后非常的好(ma)用(fan),该版本和mac很相像,而且用起来也比较丝滑,只不过配置上稍微有 ...
- 【原】【BG】-一次虚拟化环境实践简要记录
部分涉及到Linux.Nginx.tomcat.MySQL等的点滴操作记录,时间长了,就忘掉了,偶尔整理一下操作的history,就此简要备份一下: [原][BG]-一次虚拟化环境实践简要记录: ht ...
- oracle安装报错[INS-30131]执行安装程序验证所需的初始设置失败(无法访问临时位置)解决方法!
最近在电脑上安装oracle12c,安装时,在执行检查环境步骤时候报错: [INS-30131]执行安装程序验证所需的初始设置失败(无法访问临时位置) 最后在网上搜索解决方法,特记录下,以防以后再用到 ...
- Ubuntu22.04 安装配置流水账
前两天为了测一个CH340的bug, 装了三遍20.04. bug解决完, 心想反正也要重新装各种软件, 不如直接装22.04吧. 把涉及的安装记录一下方便将来参考. 制作启动U盘 在Ubuntu网站 ...
- Ubuntu22.04 安装配置VNC Server
如果转载, 请注明出处 https://www.cnblogs.com/milton/p/16730512.html Ubuntu22.40下VNC和远程桌面的区别 使用远程桌面时, 用户必须在hos ...
- 9月22日内容总结——计算机五大组成部分详解、编程语言及发展史、python解释器安装与环境变量设置
内容总结 目录 内容总结 一.计算机五大组成部分详细介绍 1.控制器 2.运算器 3.存储设备 4.输入设备 5.输出设备 二.计算机三大核心硬件 1. cpu 2.内存 举例:写文档时,突然关机了. ...
- 打造Linux三流娱乐环境,二流办公环境,一流Java开发环境
写这篇文章的目的首先是为让自己以后再装linux环境时候,不用再通宵google+百度,做个备忘录,其次,给新入Linux环境的同学分享一点个人经验,再高尚点的动机也算是想做为开源技术的传播布道者.我 ...
- 全新重装win8.1系统后 配置开发及办公环境步骤
全新重装win8.1系统后 配置开发及办公环境步骤 这两天,系统因配置开发环境出错,重装了一下,为日后方便,故此记录系统配置流程,防日后重装系统计划不周. 安装前,对照步骤,准备好下列安装文件. 0. ...
随机推荐
- 阿里云-对象存储OSS
https://help.aliyun.com/product/31815.html 阿里云对象存储OSS(Object Storage Service)是一款海量.安全.低成本.高可靠的云存储服务, ...
- biancheng-JSTL标签库
JSP 标签是一组与 HTML 标签相似,但又比 HTML 标签强大的功能标签.JSTL 用来简化 JSP 开发,可以使我们不用嵌入 Java 代码就能够开发出复杂的 JSP 页面.JSTL 包含 5 ...
- Huggingface使用
目录 1. Transformer模型 1.1 核心组件 1.2 模型结构 1.3 Transformer 使用 1.3.1 使用 Hugging Face Transformers 库 1.3.2 ...
- flutter ios 深色模式下状态栏文字是白色的,白色背景下看不见
flutter ios 深色模式下状态栏文字是白色的,白色背景下看不见 theme: ThemeData( appBarTheme: const AppBarTheme( systemOverlayS ...
- 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
大家好,我是汤师爷! 最近,腾讯发布了一款ima产品,主打用AI来帮你搜索信息.管理知识库. 说实话,一开始用混元大模型,感觉不咋地,很鸡肋的. 不过最近腾讯把DeepSeek R1接进来了,一下子解 ...
- [WC2018] 通道 题解
三棵树就很毒瘤了,我们一棵一棵看. 关于第一棵树的路径,经典解法就是点分治和边分治,考虑哪种更加简单. 设 \(dis1/2/3(x)\) 表示 \(x\) 在第 \(1/2/3\) 棵树中的深度(第 ...
- [HDU5396] Expression 题解
每次合并两个数,做过石子合并的人都能看出来是区间 dp. 设状态 \(dp_{i,j}\) 表示区间 \([i,j]\) 中合并为一个数的所有情况之和. 那么我们就可以枚举断点 \(k\): \(b_ ...
- 工业机器人维修保养|ABB机器人IRB 6700维修保养技巧
通过机器人维修保养服务定制合理的维修保养工作,可以确保ABB机器人IRB 6700的持续稳定运行,延长其使用寿命,为企业的生产提供有力保障. 一.ABB机器人IRB 6700日常检查与维护 外观检查: ...
- 当向json数组追加节点时,再去修改它,发现所有的该节点的数据都被修改了
当向一个json数组追加的节点被修改时,所有对象的的节点都被修改了 众所周知,追加json节点时,我们通常会直接给不存在的节点赋值 比如这样: let json = [ { id:'1' }, { i ...
- SpringBoot 2.x 接入非标准SSE格式大模型流式响应实践 🚀
近期DeepSeek等国产大模型热度持续攀升,其关注度甚至超过了OpenAI(被戏称为CloseAI).在SpringBoot3.x环境中,可以使用官方的Spring AI轻松接入,但对于仍在使用JD ...