我工作出来后一直是使用的 ubuntu 操作系统作为办公和娱乐。 主要的操作系统周边任务,代码编辑与编译环境,浏览网页, 文档处理, 多媒体操作这些没问题。 目前主要的矛盾点就是微信, 不过平时有手机能够处理, 电脑端的感觉没特别依赖。

其实最开始大学的时候学校学习的还是 windows 操作系统, 当时学习开机安装等基础操作, 然后就是软件的一些基本使用。
而 linux 宣传高手的宣传资料, 给人的感觉是 linux 界面就是键盘敲敲敲的复杂, 而 windows 就是鼠标点点点就能搞定, 这给初学者留下学习门坎高的假象。 我这里只能说 linux 的自由度更高, 我们只能说 随着 linux 生态完胜 windows, 毕竟linux是开源免费的, 还有大多数桌面系统和生态软件也是免费的。

特别是安装软件, 传统的 linux 软件安装操作, 都是执行一大堆命令,有的甚至要在 github 手动 clone 源码,gcc/make/cmake 编译后, 然后再 执行 install 等操作。 让人不能接受的是还要去搞依赖,库的各个版本的管理,就算是专业人事也在这上面搞崩溃。

其实现在 linux 系列的桌面系统做得并不赖,尤其是 Deepin,KylinOS,Ubuntu 等几款, 很多软件下载也可以像手机一样通过应用商店的界面去完成, 拥有 linux 的强大生态做辅助, 技术上也安全可控, 总的来说随着中国信息化的加强, windows 不能满足大量前沿先进安全应用的需求, linux 的桌面系统是我们办公的理想选择。

我不清楚什么原因, 也可能是由于 ubuntu 社区接受了微软的资助, 现在做得并不是那么人性化了,逐渐 windows 化, 很多新增的功能我个人并不够简洁,比如 snap 软件管理。

我这里还是以 ubuntu 为例讲讲 在 linux 桌面系统安装软件的几种方式,具体如下。

  1. 应用商店安装
    Linux 桌面系统软件安装-LMLPHP

    应用商店安装软件是最简的, 用户只需要选择需要安装的软件, 系统会自动下载安装和配置软件到系统中。安装完成后,用户可以在系统菜单中找到对应软件图标,点击即可启动软件。
    Linux 桌面系统软件安装-LMLPHP

    其实应用商店也是后台调用指令去完成的, 不过目前 ubuntu 应用商店后台用的 snap 工具, 安装的软件非常占资源, 有开发基础的, 不推荐这种方式安装软件。

  2. 使用命令工具安装
    以前 ubuntu 系统主要的软件安装管理器是 apt, 这个是 debian 系列的软件管理工具,我个人推荐大家使用 apt 进行管理.

    $ sudo apt install vim
    

    这种方式安装的软件使用系统下的统一管理的共享库,软件占用系统资源少,不过容易出现系统软件依赖库版本错误, 使用需要一定的命令操作能力。

  3. 第三方软件源安装

    有一部分软件是通过独立的社区维护的, 并没有收录到操作系统的软件库中。比如 OBS(Open Broadcaster Software®️)流媒体软件。ubuntu 的安装方式是:
    Linux 桌面系统软件安装-LMLPHP

    操作原处
    具体的社区官方会提供, 我们需要在对应的官网上去参考安装方式。

  4. 第三方软件包

    有的软件并没有统一管理, 需要自己下载软件包进行操作, 这些软件包的格式也是各式各样,我这里列出我遇到的几种常见的软件包格式。

    1. deb 格式, 是 debian 系列系统的软件包,目前 ubuntu 系统上可以使用。
    $ sudo dpkg -i filename.deb
    

    也可以使用 apt 安装, 一定要加上路径, 如果是当前路径,就加上 . / ./ ./符号

    $ sudo apt install ./filename.deb
    
    1. rpm 格式, 是 centos 系列系统的软件包, 在 ubuntu 没得相关环境, 好像 华为 eulerOS 系统是使用这种包格式
    # yum install filename.deb
    
    1. AppImage 格式,是包含依赖的软件包, 目前很多大型软件库都采用这种方案, 好处是可以下载即用,比如 FreeCad 软件下载 FreeCAD-0.21.2-Linux-x86_64.AppImage.
    chmod +x filename.deb
    

    这种弊端是没有自动加载到系统菜单,每次都要到软件的目录才能执行。不过我们可以将该软件目录配置到系统变量 PATH 中, 也可以全局调用。

  5. 源码安装到系统目录

    这种需要涉及到比较麻烦编译操作, 不过这种可以去了解到软件的基本逻辑, 是软件优化等工作不可避免的过程。
    一般在开源软件文档中有相关的源码编译的基本教程。
    比如 OBS 软件的 linux 系统编译
    Linux 桌面系统软件安装-LMLPHP

  6. 自定义安装

    有的软件直接给一个压缩包, 这种就要自行解压配置了。
    比如我们嵌入式开发需要涉及到的交叉编译工具链就是这种,官方一般会给一个.tar.gz 的压缩包。我们为了方便全局调用可以配置到 PATH 系统变量中。

    tar xf filename.tar.gz
    export PATH=$PATH:/软件目录/
    
  7. 部署程序

    自己开发程序使用到一些任务中,有的可能需要自启动和监护,我这里推荐 superisord 软件。 具体可以看 supervisor 使用详解.

前面 4 种安装方式比较方便, 后面 3 中可能需要一定的开发基础。我的主要任务是开发, 所以对界面不太敏感, 但是总体来说, linux 操作系统也非常够用了。

linux 桌面系统是一个全新的选择, 大家可以根据自己的情况酌情考虑.

04-04 16:24