因为公司要求,最近的工作环境从 MBP 转为 Linux。结合实际情况,最后在 CentOS 和 Ubuntu 中,选择了 Ubuntu 作为工作 OS。以下是个人近一段时间(半个月左右)使用过程中接触到,并计划长久使用的软件集合。

在 Ubuntu 20.04 中,商店使用的是 snap。因此,软件的安装主要是通过 snapapt

本文不是教程,每个工具的具体使用方式还需要自己根据需要查看相关文档。

网络

代理

proxychains

proxychains 是基于命令行的代理工具。通过 apt 安装。比 http_proxy 的优点是,不管目标程序是否支持代理,都强制让目标程序使用代理来访问网络。proxychains targetCommand

Windows 平台有一个对应的应用 proxifier。这是一个桌面应用。可以根据指定的规则给不同的 exe 程序单独指定代理。

基于环境变量

# 设置代理的函数
proxy() {
    # 检查是否传入了代理地址
    if [ -z "$1" ]; then
        echo "Usage: proxy <proxy_url> [<no_proxy_list>]"
        return 1
    fi

    local proxy_url="$1"  # 获取代理地址
    local no_proxy_list="${2:-localhost,127.0.0.1}"  # 默认排除 localhost 和 127.0.0.1

    # 设置 HTTP 和 HTTPS 代理
    export http_proxy="$proxy_url"
    export https_proxy="$proxy_url"
    export HTTP_PROXY="$proxy_url"
    export HTTPS_PROXY="$proxy_url"

    # 设置 NO_PROXY
    export no_proxy="$no_proxy_list"
    export NO_PROXY="$no_proxy_list"

    echo "Proxy settings applied:"
    echo "http_proxy=$http_proxy"
    echo "https_proxy=$https_proxy"
    echo "no_proxy=$no_proxy"
}

# 清除代理的函数
noproxy() {
    # 清除 HTTP 和 HTTPS 代理
    unset http_proxy
    unset https_proxy
    unset HTTP_PROXY
    unset HTTPS_PROXY

    # 清除 NO_PROXY
    unset no_proxy
    unset NO_PROXY

    echo "Proxy settings cleared."
}

# 示例用法
# proxy "http://127.0.0.1:8118" "localhost,127.0.0.1,.example.com"
# noproxy

socks5转http

sudo apt install privoxy
sudo systemctl restart privoxy

# 或者设置开机启动
sudo systemctl enable --now privoxy
# /etc/privoxy/config

# 配置http监听端口
listen-address  127.0.0.1:8118

# 启用转发规则
# forward-socks5t: 表示使用 SOCKS5 协议(支持域名解析)。
# 127.0.0.1:1080: 替换为你的 SOCKS5 代理地址和端口
forward-socks5t / 127.0.0.1:1080 .

# 如果你的 SOCKS5 代理需要用户名和密码认证,可以这样写:
# USERNAME 和 PASSWORD: 如果你的 SOCKS5 代理需要认证,则填写对应的用户名和密码。
forward-socks5t / 127.0.0.1:1080 USERNAME PASSWORD .
指令 含义 示例
forward 转发 HTTP 请求到指定的 HTTP 代理 forward / http://proxy.example.com:8080 .
forward-socks4 转发请求到 SOCKS4 代理(不支持域名解析) forward-socks4 / 127.0.0.1:1080 .
forward-socks4a 转发请求到 SOCKS4a 代理(支持域名解析) SOCKS4a 是 SOCKS4 的扩展版本
forward-socks5 转发请求到 SOCKS5 代理(支持 TCP 和 UDP)(支持域名解析)
forward-socks5t 转发请求到 SOCKS5 代理并强制使用 TCP 隧道 支持IP、CIDR、域名、通配符(域名)
no-forward 禁止特定请求的转发规则 no-forward [pattern]
forwarded-connect-retries 设置 CONNECT 请求失败时的重试次数
toggle 动态启用或禁用过滤功能
permit-access 限制允许访问 Privoxy 的客户端范围 permit-access address/mask 可以添加多条实现对多个ip段授权

下载

wget

基于命令行的简单下载工具,支持断点续传

aria2

强大的文件下载工具,支持 torrent,磁力链接等,支持断点续传,多线程下载等。

motrix

图形化的下载工具,功能和 aria2 类似

DNS解析

如果想实现特定域名走制定的域名服务器,可以通过一下步骤实现

sudo mkdir -p /etc/systemd/resolved.conf.d  # 确保目录存在
sudo nano /etc/systemd/resolved.conf.d/custom.conf
[Resolve]
# 指定 jori.com 及其子域名使用自定义 DNS
Domains=~jori.com
DNS=192.168.1.100     # 替换为你的自定义 DNS 地址

开发

开发工具多版本管理

之前,已经就 Java、Node、Python 的多版本管理写过一篇文章,具体方式请移步《Linux 管理多个软件版本的方法总结》

IDE

VSCode

VS Code 可以通过 snap 安装

IntelliJ IDEA

IDEA 可以去官网下载 Linux 版本的安装程序。IDEA 是通过执行脚本文件来启动,这样就导致你不能把 IDEA 放到 Favorites 中,也就无法在任务栏(dock)快速启动。你可以自定义一个 desktop 文件,实现在 APP 列表或者 dock 中启动 IDEA。主要分为以下几步:

  1. 创建 desktop 文件。如:idea.desktop
  2. 将该文件放到如下位置:/usr/share/applications/idea.desktop ~/.gnome/apps/idea.desktop ~/.local/share/applications/idea.desktop
  3. (Optional)将 icon 放到如下几个位置 ~/.local/share/icons/hicolor/尺寸/apps/idea.png。常用的尺寸有 128x128 16x16 24x24 32x32 48x48 64x64
  4. (Optional)将 icon 放到如下几个位置 /usr/share/icons/hicolor/尺寸/apps/idea.png。常用的尺寸有 128x128 22x22 32x32 512x512 96x96 16x16 24x24 36x36 64x64 192x192 256x256 48x48 72x72
# 根据安装包位置,修改 Exec 的值
[Desktop Entry]
Version=2021.3.2
Name=IdeaCommunity
Comment=The Smarter Way to Code
GenericName=IDE
Keywords=IDE;JAVA;IDEA
Exec=/bin/sh '/home/kaiyuanheshang/libs/idea-IC-213.6777.52/bin/idea.sh'
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=idea
Categories=Application;Development;Java;IDE;
StartupNotify=true
StartupWMClass=jetbrains-idea-ce

VIM

set showcmd		" Show (partial) command in status line.
set showmatch		" Show matching brackets.
"set ignorecase		" Do case insensitive matching
"set smartcase		" Do smart case matching
set incsearch		" Incremental search
set hlsearch
"set autowrite		" Automatically save before commands like :next and :make
"set hidden		" Hide buffers when they are abandoned
"set mouse=a		" Enable mouse usage (all modes)
set number
set showmode

set encoding=utf-8
set termencoding=utf-8
set autoread
set t_Co=256
set autoindent
set expandtab
set softtabstop=2
set listchars=tab:»▞,trail:▞
set list
set cursorline
set ruler

set spell spelllang=en_us
set encoding=utf-8 fileencodings=utf-8

开发工具

git 客户端(Glint)

堪比 SourceTree 的 git 客户端,支持 Win、Mac、Linux。官网地址 https://glint.info/

He3

He3 集成了常用的开发工具,如:hash计算、json 相关、颜色相关等。并且是离线使用。官网地址 https://he3.app/

remmina

MobaXterm 的 linux 替代版本。可以管理 SSH、VNC、RDP 等登录凭证。目前只有 Linux 版本

Remote Desktop Manager

MobaXterm 的替代工具。免费版本足够使用。能力几乎和 MobaXterm 一致,并且跨平台(windows、mac、linux)

办公

图片编辑

GIMP

开源,多平台,十分好用的跨平台图片编辑器。Home

photoflare

photoflare 是一款简单而强大的图片编辑软件。支持命令行和图形操作两种方式。可以通过 apt 安装,也可以通过官方仓库安装。

比 photoshop 简单,比画图强大

imagemagic

imagemagic 是基于命令行的图片处理程序。可以实现图片裁剪,调整大小,格式转换,多张图片合并,调色,应用各种特殊效果,绘制文本,线条,多边形,椭圆和贝塞尔曲线等。详情请参照官网

krita

绘图软件,特别是手绘效果很好。

sudo apt install krita

kolourpaint

类似 windows 下画图的一个软件

sudo apt install kolourpaint

在这里插入图片描述

小工具

Snipaste

Snipaste 是一款免费的跨平台屏幕截图工具。除了截图功能外还有,截图编辑功能(调整大小、添加标注等);截图悬浮功能(支持悬浮多个截图)。

文档编辑

PDF 阅读和编辑

福昕PDF阅读器。直接去官网下载即可。下载时,选择 Linux 平台。

Office

WPS Office Linux 版。直接去官网下载即可

drawio

强大的开源图表绘制软件。可以画 UML、脑图、流程图等等。

在这里插入图片描述

多媒体

VLC 播放器

开源,全格式支持的播放器。安装方式见官网

OBS Studio

开源录屏和视频流处理软件Home

HandBrake

开源视频转码工具 Home github

Shotcut - 音视频编辑

https://shotcut.org/

管理

rustdesk

开源版本远程桌面软件github

hardinfo

以图形化方式展示计算机硬件信息。类似 windows 的设备管理器

sudo apt install hardinfo

在这里插入图片描述

磁盘

gparted

可视化磁盘分区管理工具。可以通过 apt 安装

GitHub 加速计划 / li / linux-dash
10
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:18 天前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐