1. 前言

这周末刚从Windows办公环境切换到 Ubuntu 22.04,有些东西还是比较折腾,记录一下便于以后查找。

2. 安装时的分区设置

从一块完整的新硬盘安装Ubuntu单系统时,只需要以下分区:

  1. ESP分区(EFI System Partition),设为200MB即可,是GPT分区表存储的位置。UEFI引导的系统都需要这个分区。
  2. 根分区/:懒人可以直接把硬盘的剩余部分全部设为根分区,就结束了,可以直接安装了;
  3. 用户分区/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状态,历史命令自动补全等)

安装zshoh-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

注意:

  1. 这是配置文件而不是脚本,所以直接写赋值语句即可,不需要再写export
  2. 配置文件中不能用~,而应该使用${HOME}
  3. 这个环境变量只会对当前用户的命令行、桌面、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办公环境初始设置记录的更多相关文章

  1. ubuntu 12.04中环境变量设置

    Persistent environment variables So far we've only discussed ways set an environment variable value ...

  2. 在Ubuntu 16.04 安装python3.6 环境并设置为默认

    在Ubuntu 16.04 安装python3.6 环境并设置为默认 1.添加python3.6安装包,并且安装 sudo apt-get install software-properties-co ...

  3. 带有pwn环境的Ubuntu22.04快速安装

    pwn环境ubuntu22.04快速安装(有克隆vmk) ubuntu更新到了22.04版本,经过本人测试后非常的好(ma)用(fan),该版本和mac很相像,而且用起来也比较丝滑,只不过配置上稍微有 ...

  4. 【原】【BG】-一次虚拟化环境实践简要记录

    部分涉及到Linux.Nginx.tomcat.MySQL等的点滴操作记录,时间长了,就忘掉了,偶尔整理一下操作的history,就此简要备份一下: [原][BG]-一次虚拟化环境实践简要记录: ht ...

  5. oracle安装报错[INS-30131]执行安装程序验证所需的初始设置失败(无法访问临时位置)解决方法!

    最近在电脑上安装oracle12c,安装时,在执行检查环境步骤时候报错: [INS-30131]执行安装程序验证所需的初始设置失败(无法访问临时位置) 最后在网上搜索解决方法,特记录下,以防以后再用到 ...

  6. Ubuntu22.04 安装配置流水账

    前两天为了测一个CH340的bug, 装了三遍20.04. bug解决完, 心想反正也要重新装各种软件, 不如直接装22.04吧. 把涉及的安装记录一下方便将来参考. 制作启动U盘 在Ubuntu网站 ...

  7. Ubuntu22.04 安装配置VNC Server

    如果转载, 请注明出处 https://www.cnblogs.com/milton/p/16730512.html Ubuntu22.40下VNC和远程桌面的区别 使用远程桌面时, 用户必须在hos ...

  8. 9月22日内容总结——计算机五大组成部分详解、编程语言及发展史、python解释器安装与环境变量设置

    内容总结 目录 内容总结 一.计算机五大组成部分详细介绍 1.控制器 2.运算器 3.存储设备 4.输入设备 5.输出设备 二.计算机三大核心硬件 1. cpu 2.内存 举例:写文档时,突然关机了. ...

  9. 打造Linux三流娱乐环境,二流办公环境,一流Java开发环境

    写这篇文章的目的首先是为让自己以后再装linux环境时候,不用再通宵google+百度,做个备忘录,其次,给新入Linux环境的同学分享一点个人经验,再高尚点的动机也算是想做为开源技术的传播布道者.我 ...

  10. 全新重装win8.1系统后 配置开发及办公环境步骤

    全新重装win8.1系统后 配置开发及办公环境步骤 这两天,系统因配置开发环境出错,重装了一下,为日后方便,故此记录系统配置流程,防日后重装系统计划不周. 安装前,对照步骤,准备好下列安装文件. 0. ...

随机推荐

  1. 一个小的图文编辑软件 -- 采用winform开发

    本人用winform开发了一款图文编辑软件,实现了图片.文字.图形混合排版; 可以对图元调整大小.设置角度.添加剪切区间等操作.本人以前也写过一款类似的软件<WinForm版图像编辑小程序> ...

  2. Redis中缓存预热、击穿、雪崩等问题解决方案-copy

    1.缓存雪崩 缓存雪崩是指缓存同一时间大面积的失效,所以,后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉. 解决方案 缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生. ...

  3. Hadoop 概述(三)

    HDFS shell API HDFS作为大数据的文件系统,可以放置数据文件,列举几个常用的shell脚本命令,用法和linux中的基本类似,不过这个是hadoop里的一套,所以我们要用hadoop ...

  4. 项目PMP之十三相关方管理

    项目PMP之十三--相关方管理   一.定义: 核心理念: 每个项目都有相关方,他们会受项目的积极或消极影响,或者能对项目施加积极或消极的影响. 以相关方满意度作为项目目标进行识别和管理,并保持沟通, ...

  5. Spring Cloud认知学习(一)--Eureka使用、Ribbon使用

    Spring Cloud是一个微服务架构,他有多种组件来管理微服务的方方面面.Spring Cloud是用于构建微服务开发和治理的框架的集合. Spring Cloud是最热门的Java技术毋庸置疑. ...

  6. JVM虚拟机---常用JVM配置参数

    常用JVM配置参数 常用JVM配置参数主要有:Trace跟踪参数.堆的分配参数.栈的分配参数. 一.Trace跟踪参数 跟踪参数用于跟踪监控JVM,对于开发人员来讲用于JVM调优以及故障排查的. 1. ...

  7. 推荐几个不错的 Linux 服务器管理工具

    前言 选择一款好的 Linux 服务器管理工具能够极大地提高运维效率,保障业务连续性.今天大姚给大家分享3款不错的 Linux 服务器管理工具,希望可以帮助到有需要的同学. 1Panel 1Panel ...

  8. Linux:安装nodejs

    yum安装 自带版本 yum install nodejs 但是版本很低[6.17.1] 高版本 参考:链接 1.删除旧版本 yum remove nodejs 2.添加Node.js Yum存储库 ...

  9. 搭建 VuePress 站点必做的 10 个优化

    前言 在 <一篇带你用 VuePress + Github Pages 搭建博客>中,我们使用 VuePress 搭建了一个博客,最终的效果查看:TypeScript 中文文档. 在搭建这 ...

  10. VirtualBox配置安装入门(Linux连不上网络和设置共享文件夹)

    VirtualBox配置安装入门 一.设置虚拟网卡 1.安装了虚拟机之后,可以在网络选择网卡 网络分为网络地址转换(NAT).桥接网卡.内部网络.仅主机(Host-Only)网络,通用驱动.NAT网络 ...