本篇文章讲一下一些 Linux 上的应用,多数为日常生活娱乐用的软件,同时也会讲一点开发工具,对于有兴趣继续研究 Linux 的可以参考一下。
目录
- 1.截图工具 Shutter
- 2.图像处理 GIMP
- 3.同步盘 Nextcloud
- 4.密码管理 KeepassX
- 5.视频编辑转换 Avidemux
- 6.视频播放器 VLC
- 7.音乐播放器 没有推荐
- 8.图片管理 Pix
- 9.虚拟机 VMware Workstation
- 10.Steam
- 11.模拟器(游戏)
- 12.远程控制 Teamviewer
- 13.传感器监控 Psensor
- 14.下载工具 qBittorrent
- 0.需要额外安装的一些命令
- 1.虚拟终端 SecureCRT
- 2.Code Review 代码评审: BCompare
- 3.Wireshark
- 4.Filezilla
- 5.Docker
- 6.MySQL
- 7.Git
软件的安装方式
「玩 Linux 的」一般有一个坏习惯,就是啥玩意都编译安装,严重到给人一种使用 Linux 的都得会编译。
事实上编译安装永远是最后一个安装办法。任何时候,都应该避免使用编译安装这个办法,难度先不说,主要是太费时间。
另外还有种误解,就是认为 Linux 上的应用都是绿色应用。事实上很多软件都是在系统各个目录下塞文件的,相当不绿。加之很多人的不良使用习惯,deb 包中没有认真写卸载脚本,以及每次都 --force
强制安装,我只能说,再强大的系统,到这些人手里,终有瘫的一天。
所以对于一般用户,首先得讲一下,软件到底该怎么安装。
1.Software Manager
说一句:Linux 的软件商店,如果以 Ubuntu Software Center 为例的话,早在 2009 年就有了,比 Win 8 早 2 年。
对于一般用户来讲,这是最简单的软件安装方式。
而且 Linux Mint 的 Software Manager 中,还包含很多原本社区不免费提供二进制包只提供源码的软件。
不过一般来说 Software Manager 中部分软件的版本都比较旧,或者同一个软件出现多个版本,有时候速度离奇的慢且没有提示,所以对于有经验的用户,Software Manager 不是最佳选择。
但如果 Software Manager 中包含你所需要的软件,且其版本可以满足你的需求,你又没有其他经验,那就直接在 Software Manager 中安装即可(反正你也没得选不是么)。
2.deb 包
可能有些软件是不在 Software Manager 中的,这个时候的办法就是到软件的官网找找看安装方式了。一般来讲,官方都会提供 apt/yum 安装方式,或者下载 deb/rpm 安装包,作为 Ubuntu 的分支当然是用 apt 和 deb 包。
apt 方式安装可以自动解决依赖。如果是本地安装包,解决依赖的方法上一篇文章已经讲过了,这里就不陈述了。
PPA 源
除了系统自带的 Ubuntu 源和 Linux Mint 源之外,还可以添加 PPA 源。
简单来讲,软件想要添加至 Ubuntu 源和 Linux Mint 源是个比较复杂的过程,有「手续」这个玩意存在,即使添加进去了,后期更新版本也很麻烦。所以很多开发者选择自己维护自己的软件就好了,而源这事交由 Launchpad 帮忙搞定。
PPA 全称是 Personal Package Archive 。因为这些包的更新可以由开发者负责,所以一般情况下,版本要比主仓库新得多。 Linux Mint 源中也可能会对同一软件包含多个不同的版本,对用户也造成了不少困惑。针对对应的软件使用 PPA 源,就可以免驱这些困惑,并且直接使用到开发者的最新版本,甚至可以使用到每日构建测试版。
只不过 PPA 源都是 Launchpad 的,服务器在国外,而且没有镜像站。所以速度非常心痛,遇到敏感时期或者垃圾运营商,每次 apt update
都会失败。
镜像站虽然没有,但是反代是有可能的。可以找找。
(注:单纯的备份 PPA 的 source.list 文件是不行的,每个仓库都有证书)
3.AppImage
当然了,Software Manager 的安装方式,其本质上还是 apt ,还是 deb 包的安装。并不绿色。
不绿色这个问题其实并不大,这种安装方式面临的最大问题是依赖环境。即如果出现开发者的开发环境与用户的使用环境出现依赖库版本差异(一般情况下是 deb 包依赖低版本的库),那解决难度可就要了命了。如果手滑把系统自带的库降级了,很可能会导致系统瘫痪。
所以接下来就该 AppImage 登场了。
AppImage 其实只是个压缩文件,在它运行时候挂载。用AppImage打包的程序,一个程序就是一个文件。每一个文件都包含了该程序在其所要运行的目标平台上所需的运行库。
简单通俗一点:一个软件就一个文件
多好。
记得给 AppImage 文件加运行权限,不然系统会把他当压缩文件。
AppImage 的概念有点像 Docker 。个人理解是 AppImage 只是个压缩包,内含对应程序所需要的库,专注于桌面平台。而 Docker 则是一个层叠结构文件系统,专注于微服务。虽然某种意义上这俩挺像的,但实际上几乎没有交集。
4.二进制文件
这个应该是最不靠谱的方案。不过很多软件都直接提供二进制文件下载,而不是提供 AppImage 或 deb 包。
所以如果有软件是以这种方式提供的,就只能下载下来先试试。
一般来讲现在提供可执行二进制文件的都是针对当前版本 Ubuntu/CentOS 的,所以兼容性都挺好的。
5.编译
终极解决方案,也是最看脸的。
任何一个不同的软件,其编译方法都不一样。
你得搞通编译环境,搞清楚依赖库,搞清楚版本,搞清楚配置参数。
总之,这个终极方案得同时看脸和本事。
日常软件
桌面软件其实只要打开开始菜单后直接搜索就可以,比如直接输 GIMP 就可以查询到 GNU Image Manipulation Program。
1.截图工具 Shutter
系统其实自带截图功能,只不过有一点不好的就是,每次都要提示保存。
Shutter 是个不错的截图工具,支持全屏截图和区域截图,而且可以设置成自动保存。
快捷键由系统的 Keyboard 管理。全屏截图的命令是 shutter -f
,区域截图的命令是 shutter -s
。
想了解更多请 man shutter
。
2.图像处理 GIMP
GNU的招牌软件之一,很多 Linux 桌面发行版都预装的图像处理工具。GIMP 同样也适用于 Windows。
全名是 GNU Image Manipulation Program 。介绍我就不介绍了。
比 Windows 自带的 MSPaint 大非常多,所以启动略慢,原本目指 Photoshop 级别的工具。基本功能很全,当然,跟商业化的 Photoshop 比起来还是非常有距离的,毕竟后者是一个行业支柱。
3.同步盘 Nextcloud
当然,有自建 Nextcloud 服务器的时候用起来才方便。
Nextcloud 官网提供 appImage 。建议使用这种方式安装使用。
4.密码管理 KeepassX
KeePass 1.x 在 Linux 上是没有官方支持的,而 KeePass 2.x 在 Linux 上需要 Mono 。个人不太喜欢用这种方式,所以选择了 KeepassX 。
KeepassX 只支持 2.x 版本的密码文件,所以升级 Windows 上的 Keepass 就不可避免。
Keepass 上很多介绍说同时支持 1.x 和 2.x 的多平台第三方工具,其实都已经停止维护或不再维护所有版本或所有平台了。不过 Android 上的 KeePassDroid 可以同时支持 1.x 和 2.x 密码文件。
5.视频编辑转换 Avidemux
最初选上 Avidemux 是为了在 Windows 上找一款可以支持 Nvidia NVENC 的工具。市面上大多数视频转换工具,说难听点,也是一大抄,都是拿着 FFmpeg 或一堆 lib 套个壳。诚然这些 lib 部分也支持 Nvidia NVENC ,但是为什么要去做支持呢,能用就行呗。
所以当时搜了一圈,有广告的没广告的开源的闭源的找了一圈,最后找到了 Avidemux ,不仅很简洁,而且支持 Nvidia NVENC 。
对于一般需求,类似把手机或相机的视频剪切编辑一下,重新压缩一下减小体积,再上传到视频网站,这个软件可以胜任。(国内视频网站的情况我不了解,只知道用户体验太差,不关心)
官网提供 appImage 。建议使用这种方式安装使用。
6.视频播放器 VLC
依旧没找到能与 Windows 下 PotPlayer 媲美的。所以还是暂时推荐 VLC。
7.音乐播放器 没有推荐
完全没找到干净整洁简单高效的。
不过意外收获是 Foobar2000 的作者 Peter Pawlowski 竟然又制作了一个音乐播放器 Boom。真的非常干净整洁。可惜依旧没有 Linux 端。
8.图片管理 Pix
在 Windows 下我一直都是用美图看看做图片管理的(虽然已经停止更新很多年了)。基本图片管理,还是追求个简洁高效。
Linux Mint 默认的图片查看工具是 Xviewer 虽然简洁,但是并不高效,不行不行。
可惜 ACDSee 已经是半死状态(官网部分 CDN 连 HTTPS 证书都不维护下),Picasa 也没了好几年了。
不过 Linux Mint 默认还安装了另一个图片管理工具 Pix,这个还行。
在 Preferred Applications 中将默认图片打开方式换成 Pix ,并在 Pix 的设置中打开 Reuse the active window to open files 。
9.虚拟机 VMware Workstation
虽说打算完全摒弃 Windows ,但如果遇到一些特殊情况,比如使用网银,或者访问某关单位的 IE Only 网站,必须要用到 Windows 时,就该虚拟机出场了!
安装 VMware Workstation
VMware Workstation 原生支持 Linux ,官方提供的是 bundle 包,其默认文件类型是 bash script executable (binary data),可别刚下载完就直接双击了。
最靠谱的方式还是加个运行权限,之后在 Terminal 里使用 sudo 运行。
注意安装过程中有一个步骤是设置 shared virtual machines 。因为安装过程中是 root 权限,但是今后实际使用是一般用户权限,所以这个目录尽量不要管,也不要使用这个目录(除非你真的明白这个功能是干啥的)。
安装过程中还有一个 https access to Workstation Server,是为了远程管理用的。默认是 443 ,建议改成高位端口,省得被人扫,或者后面有什么开发任务导致端口冲突。
设置 VMware Workstation
VMware Workstation 安装完之后,要安装一个 Windows 作为虚拟机。你也可以从其他机器上导入一个虚拟机进来。
默认虚拟机路径应该是 ~/vmware
,建议不要更改,因为 home 下用户有操作权限。配合我之前的文章《在 Linux 桌面系统上进行硬盘分区的一些想法》,硬盘空间不是问题。如果要改,一定要明白限制条件是什么。
可以把 Shared VMs 页面的 Enable virtual machine sharing and remote access 关了。
剩下的根据自己的需要进行修改。
安装 Windows
不论是从头安装还是从其他地方导入,这方面都没什么可讲的。
不过有些地方还是需要提一下,如果你选择了支持 USB 3.0 的虚拟机版本(Workstation 9 及以上),以 Windows 7 为例,在安装之后,是不支持 USB 3.0 的,因为 Windows 7 原生就不支持,没驱动。也就是说如果你的机器上没有原生的 USB 2.0 接口,那么虚拟机里是识别不了你奇迹上任何 USB 设备的。(如果你没选支持 USB 3.0 的虚拟机版本,原生的 USB 2.0 接口,那就更不识别了)
解决办法就是装个驱动上去,以英特尔主板为例,需要安装的应该是 USB 3.0 Driver: Intel® USB 3.0 eXtensible Host Controller Driver for Intel® 7 Series/C216 Chipset Family
,这方面在安装系统和 vmtools 的时候,VMware 会提示你。我记得在安装这个之前,还需要安装一个系统补丁 KB2533623
。
另外非常建议同时把 .NET Framework 4.7.2
也一起安装了,当然需要先安装系统补丁 KB4019990
。
这样即使有必须要用到 Windows 的场景也不怕了。不过貌似硬件加速跑不起来,偶尔开网银什么的也用不上。不要指望用虚拟机打游戏,玩的瘾是有多大。
新安装完之后,建议拍个镜像,以后 Window 玩坏了可以回滚到这个镜像,免去重装的麻烦。
10.Steam
Steam 我就不用多讲了。Steam 的默认目录就在 Home 下,麻烦事少很多。
11.模拟器(游戏)
我最初的选择是 Retroarch ,一个整合了几乎所有开源模拟器的平台。
虽说集大成挺好的,功能还多,仿的 PS3 界面也很流畅,模拟功能也没什么大碍,但是部分模拟器的键位设置怎么搞都不生效。
所以我的建议,玩啥装啥,分开设置也没什么大麻烦,都整合到了一起反而更难调明白。
12.远程控制 Teamviewer
这个不用介绍了吧。
Teamviewer 官方提供 deb 包下载。
13.传感器监控 Psensor
可以用来监控 CPU 温度和风扇转速,也能监控 CPU 和内存的使用率。后台跑着,找个游戏玩一会,看看硬件状况。
14.下载工具 qBittorrent
有点像 uTorrent 的下载工具。不过 qBittorrent 是完全开源的,而且支持理想中的所有 BT 协议。
apt 和 Software Manager 能下载到的版本都非常旧。qBittorrent 官方提供 PPA 源,建议使用 PPA 源进行安装。
开发者工具
接下来讲一些开发者所需的软件或工具。对于一般用户可能不是必需的,但是大致了解一下也好。
0.需要额外安装的一些命令
可以说只要是由我负责使用的 Linux 设备,我都会来上这么一句(如果是 CentOS 当然就会用 yum):
apt psmisc ca-certificates net-tools tcpdump vim lrzsz tree unzip bash-completion iptraf-ng screen curl wget rsync
(注:部分包在 Linux Mint 上已经默认安装了,全贴出来只不过是我偷懒而已)
psmisc
查看和管理进程树的。其实查看进程树只要用ps -f
就行,装这个主要是会用到killall
ca-certificates
更新一下系统自带证书net-tools
一些古董级的网络管理命令,比如ifconfig
和route
。现如今这些命令都要被ip
所取代了。tcpdump
网络抓包工具vim
比默认的vi
更靠谱更高效lrzsz
终端传文件必备的命令rz
和sz
,速度虽然不如 sftp 但场景万能啊,简单传小文件非常方便。tree
目录树查看unzip
解压 zip 。如果需要的话也可以装个 zip 用于压缩。现在压缩软件都能处理 tar.gz 所以按个人意愿来吧bash-completion
bash 命令自动补全iptraf-ng
网络速度查看screen
后台运行前端命令必备curl
+wget
网络查看和下载的基本命令,不用介绍了rsync
比 cp 和 scp 等更靠谱的文件复制命令
1.虚拟终端 SecureCRT
使用习惯改不了啊,感觉还是 SecureCRT 靠谱。
其实在之前我试过很多相关的管理工具,做得好的一个也没看到。说白了最终目的只要有个多标签,有个目录树管理连接方式,再给 Putty 套个壳就行了。没戏,根本没人做。
找到的最顺手的反而是个 Chrome 应用,Secure Shell App,但是我的浏览器得干别的事情啊,使用这个在个人习惯上会影响效率。
最后还是回归了 SecureCRT 。
官方支持 Linux ,提供二进制文件下载。不过有点恼人的是,这个二进制文件在 Linux Mint 下没有被当做二进制可执行文件,而是被当做二进制库了
所以即使加了运行权限,双击也打不开
解决办法是依靠旁边的 .desktop 文件。修改内容使其指向你放置 SecureCRT 的目录,就可以了。有点类似 Windows 的快捷方式。
现在可以把这个 .desktop 复制到桌面。如果想添加到开始菜单,将文件复制到 /usr/share/applications
(所有人) 或 ~/.local/share/applications
(仅此用户)
2.Code Review 代码评审: BCompare
同样还是使用习惯问题,感觉商业化的 BCompare 总是要比用 diff 改出来的开源软件好一点。
注意 BCompare 3 在 Linux 下有一个 官方已确认 的严重性能问题。官方的态度是不会修复。毕竟 BCompare 4 已经发布很久了,且在 BCompare 4 中也已经没有这个问题了。所以如果想继续使用 BCompare ,请一定要使用 4 版本。
之前不愿意升级到 4 ,主要还是因为首页菜单明明没几个图片,竟然还要分两页,而且图片比较还放在第二页,很不方便。升级后才发现原来首页菜单是可以调整的,而且图片比较功能也比旧版好用很多。
3.Wireshark
网络抓包和查看工具,不用多讲了。
只不过 Software Manager 中提供了好几个版本,很懵逼。官方提供 PPA 源,建议使用这个方式进行安装。
4.Filezilla
知名的开源 FTP 客户端,当然也是有 Linux 版本的了。
不过官方给的是二进制文件,而且是有目录结构的,感觉很不好。
反正不是需要非常新的版本,用商店的版本吧。
5.Docker
我之前的开发环境都是在 Windows 上进行编辑,在 Linux 上进行编译运行测试和打包,所以至少需要两台机器,或者至少一台 Windows 主机并装一台 Linux 虚拟机。之所以这么做,是为了保证开发环境纯洁,这样可以完全避免其他人经常遇到的 换一个部署环境就跑不起来 的尴尬。每次开发如果觉得环境引入了未知的东西,或者玩坏了,直接回滚镜像到最初状态。
现在编辑环境换成 Linux 了,没必要再装虚拟机了。但是为了保证开发环境干净,直接安装 Apache 或 PHP 这些包会变得非常不妥,如果遇到版本变更,可能还会导致配置文件到处都是。
所以即使只是编辑环境,也建议上 Docker 。
Docker 的安装方式没什么区别,只不过其文件都是存放在 /var/lib/dockr
下的,建议将其工作目录移动到更便于管理的目录。
移动方式:/etc/docker/daemon.json
增加参数 "data-root": "<folder>"
6.MySQL
当然安装方式靠 Docker。
和 Docker 一样,可能会成为用硬盘的大户,而且数据可能还会很重要,所以不放在默认的 /var/lib/mysql
比较好。
移动方式:mysqld.cnf
中 datadir=<folder>
7.Git
这个就不用讲了。而且 Git 可是在 Linux 下开发出来的,所以用法可以非常原生。
以前常年用 Tortoisegit ,其实是 git + 套 putty 层皮,Pageant 可以手动选证书,这样在有多个 Git Server 时,或者同一个 Git Server 有多个账号时,比较方便。其实 ssh 原生就支持,一个配置文件就能搞定。
依旧难解决的问题
1.文件管理器
自带的文件管理器 Nemo 其实已经不错了。你甚至可以在任意的地方点击右键打开 Terminal 以及切换成 root 用户。
只不过对图片的处理不是很好,还没法跟 Win7 媲美。
主要问题是排序和图片预览。
图片预览的速度很慢,应该是缩略图的缓存逻辑实现的不好。
而排序,Nemo 不能像 Windows 那样在一般模式下随意设置排序方式,只能从有限的选项中选择。
而详情模式则同时包含 Data Modified 和 Modified – Time ,这两个有什么区别?我搞不清。
左侧只能收藏或树形结构二选一,也挺尴尬。
虽说不要求做得和 Windows 一样,不过至少不能让人太 confused 。
2.Git 图形界面
说真的, Tortoisegit 真的太好用了,但是很可惜 Tortoisegit 没有 Linux 端。
我试着在 Git 官网,把 GUI Clients for linux 都过了一遍,没发现一个像 Tortoisegit 一样又简洁又高效的工具。很多与其说是工具,更像 IDE ,而另外一些则更像插件,功能又太弱小,也不直观,并不比直接用 git 命令好到哪去。
所以与其用一大堆不明所以的工具,还真不如直接用命令行更干脆。
总结
像 LibreOffice 和 Thunderbird 等我就不介绍了,这些软件即使在 Windows 上知名度也不低。像 Atom 和 VSC 之类的开发工具我也不讲了,知道的必然熟悉。
有些国内不得不用的软件,是没有办法的,比如 QQ ,连 Web 版都停了。如果是躲不开的开发任务的话,还是开虚拟机吧。
另外没有找音乐格式转换相关的工具,没有时间找了,如果是我的话可能就会先拿 FFmpeg 或 lame 先对付上了。
很多其他方面的软件也都没有顾及到,主要是一时半会想不起来,或者从未接触过。
我不会像自媒体或者三流博主或者某些公司大神那样,随便百度一搜就说这个好使那个行,随便就来个 TOP 10 最好用的 XXX 软件。我列出来的所有都是我一直在使用的软件,得对自己的言行负责。
参考资料
https://developer.gnome.org/integration-guide/stable/desktop-files.html.en
https://git-scm.com/download/gui/linux
https://wiki.linuxfoundation.org/networking/net-tools
https://lug.ustc.edu.cn/wiki/mirrors/help/revproxy
https://medium.freecodecamp.org/manage-multiple-github-accounts-the-ssh-way-2dadc30ccaca
https://stackoverflow.com/questions/50707738/move-docker-var-run-docker-data-to-different-directory