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. .NET 依赖注入中的 Captive Dependency

    大家好,上一篇我们分析了 .NET 依赖注入的默认行为,其实呢还没完全讲完.今天我先给大家出一道题: public interface IDbContext { } public class SqlS ...

  2. 谈谈flutter的线程

    本文同步发布于公众号:移动开发那些事谈谈flutter的线程 刚接触flutter的同学肯定会对fluter所谓的单线程架构很蒙逼,因为这与我们学开发时,各种语言里的多线程的介绍有点出入,而且手机的C ...

  3. 《C++并发编程实战》读书笔记(1):线程管控

    1.线程的基本管控 包含头文件<thread>后,通过构建std::thread对象启动线程,任何可调用类型都适用于std::thread. void do_some_work(); st ...

  4. Nginx配置文件及默认配置说明

    默认安装的1.16.1版本的主配置文件nginx.conf如图: 业务性配置引入额外的配置文件/etc/nginx/conf.d/default.conf如图:  现在可以在默认的根目录下找到2个页面 ...

  5. 算法题目分享:小美的01串翻转 | dp

    最近遇到一个算法题目,感觉挺有意思,分享一下.原题和参考题解放在最后的链接中了. 题目 题目描述 小美定义一个 01 串的权值为:每次操作选择一位取反,使得相邻字符都不相等的最小操作次数. 例如,&q ...

  6. 2024年度Graph+AI开源探索思考

    前记 这篇年度总结其实酝酿了许久,却因诸多原因拖至腊月底,此时赶在春节前发出来,也不失为"农历版"年度总结了.所谓年度总结,一般是"温故而知新",我不太想落入堆 ...

  7. 国际认可!天翼云合规领域影响力up!

    近日,天翼云科技有限公司成功通过ISO 37301合规管理体系双认证(GB/T 35770-2022/ISO 37301:2021 & CTS GHMS001-2024),标志着公司合规管理和 ...

  8. IDEA debug时候直接报ClassNotFoundException,代码正常,也可以正常运行

    原因,是因为在某些类误点了断点,需要取消

  9. C#字符串拼接的6种方式及其性能分析对比

    前言 在C#编程中字符串拼接是一种常见且基础的操作,广泛应用于各种场景,如动态生成SQL查询.构建日志信息.格式化用户显示内容等.然而,不同的字符串拼接方式在性能和内存使用上可能存在显著差异.今天咱们 ...

  10. 无分类有tag

    1 2