使用 Linux 来进行工作

使用 Linux 进行办公时,一些推荐的配置和软件。不断更新中。

系统

我使用的是 kubuntu,它是 KDE + ubuntu,个人感觉比普通的 ubuntu 要好看一些,别的没什么区别。

kubuntu.png

安装方式及其简单,跟 windows 差不多,官网下载镜像文件,使用 U 盘制作启动盘,之后安装就行了。

选 ubuntu 的好处是相对来说适应面广一些,很多软件都有提供 .deb 包,安装起来比较方便。

之前也使用过 archLinux,有点过于繁琐了,费了半天劲才装好。结果一次更新以后显卡驱动又坏了,实在不想折腾了。

软件

  • 浏览器

    可以直接使用 Linux 版本的 Chrome,安装既可。

  • 编辑器

    VSCode 有 Linux 版本客户端,安装既可。

  • 截图

    使用 windows 或者 mac 的时候,一般都是使用聊天软件带的截图工具。但这些聊天软件大多不支持 linux(目前只发现 telegram 支持)。

    可以使用 flameshot,它在 Github 开源,Release 中有 .deb 发布产物,下载下来双击安装既可。

    flameshot 使用体验和我们熟悉的微信截图、QQ 截图十分相似。

    另外可以在系统中设置全局快捷键,命令内容为:flameshot gui 既可,不需要其他参数。

    flameshot.png

  • 数据库

    数据库软件偶尔快速浏览一下数据库中的内容还是挺方便的。

    MySql:DBeaver

    MongoDB: MongoDB Compass

  • 科学上网

    clash 有一个在 Linux 上可用的客户端:clashy,除了 UI 不太好看外,别的都还不错。

  • Notion

    Notion 没有 Linux 下的客户端,不过它的客户端看上去本身也是基于 electron 的,所以直接使用 chrome 将 Notion 添加到桌面使用就可以了。

    notion.png

  • 微信等其他聊天软件

    微信以及公司用的聊天软件,都只有 Mac 和 Windows 版本,据说微信可以用 wine 来执行,但是我公司用的聊天软件用 wine 执行不了,也就懒得试微信了。

    解决方法是直接上虚拟机,我用的 VirtualBox 安装了一个 Windows 10。实际体验还不错,没有想象中的卡顿出现。由于在虚拟机里,还可以设置资源占用,防止出现某聊天软件占用大量内存的情况。

    virtualbox.png

    VirtualBox 提供了一个无缝模式,可以只显示虚拟机中打开的应用,听着挺棒,实际用下来不怎么样。

    设备中把共享粘帖板和拖放都设置成双向,就可以很方便的使用了。

    目前遇到的问题就是聊天工具中别人发的 url,点击会在虚拟机内部打开,需要自己复制 url 在外部打开。

    使用虚拟机还有一个好处是强制自己少用聊天软件,更多的聚焦于手头的工作。

    还有一个小技巧,Ctrl + P 可以将虚拟机暂停,减少虚拟机对 CPU 的占用,毕竟好久才看一次聊天工具。

常见问题

  1. vscode 中登录后提示 “Writing login information to the keychain failed with error ‘The name org.freedesktop.secrets was not provided by any .service files’.”

    安装 gnome-keyring 即可:

    1
    sudo apt install gnome-keyring
  2. wget 下载一些内容时,提示 “unsupported protocol”

    这是因为高版本的 ubuntu 限制了 openssl 的最低版本,最好升级服务器端的版本,如果不行,就在本地使用单独的文件降低最低版本限制。

    新建文件 /etc/ssl/openssl_tls1.cnf:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    penssl_conf = default_conf

    [ default_conf ]
    ssl_conf = ssl_sect

    [ssl_sect]
    system_default = system_default_sect

    [system_default_sect]
    MinProtocol = TLSv1
    CipherString = DEFAULT:@SECLEVEL=1

    之后在执行 wget 时,加上环境变量:

    1
    OPENSSL_CONF=/etc/ssl/openssl_tls1.cnf wget xxx