mac catalina 手动安装openssl@3

mac catalina 通过homebrew 安装 openssl 失败,被嫌弃系统太老,make test 测试不通过

I manually installed openssl@3 with the following commands

  1. Download the latest version from https://www.openssl.org/source/openssl-3.1.1.tar.gz
  2. Uncompress the file with double click and open the terminal. Find the created folder and cd openssl-3.1.1
  3. Continue with
    perl ./Configure --prefix=/usr/local --openssldir=/usr/local/openssl no-ssl3 no-ssl3-method no-zlib darwin64-x86_64-cc enable-ec_nistp_64_gcc_128
  4. make
  5. make test (optional) I passed all tests
  6. sudo make install MANDIR=/usr/local/Cellar/openssl@3/3.1.1_1/share/man MANSUFFIX=ssl
  7. openssl version (optional - verification). It should report OpenSSL 3.1.1 30 May 2023 (Library: OpenSSL 3.1.1 30 May 2023)
  8. which -a openssl (optional).
  9. brew link openssl@3
  10. brew list (optional) you should see the openssl@3 inside installed packages.
l

关闭 OneDrive 内部的自动更新机制

我有一台用了十年的 mac mini,这台电脑的质量还是不错的。虽然也升级了内存和硬盘。 这个没怎么清过灰的家伙也一直没坏。稳定地发挥一个 HTPC 的作用。 不过苹果是已经放弃了它,最终它停留在 catalina。 不过最近我遇到了点麻烦:onedrive 打不开了。

目录

本文使用到了 homebrew,如果你没有或不能使用 brew,请参考另一篇:

更新

目前看来,这是微软推送了一个未在 catalina 上验证过的更新,目前问题已修复, 可以直接安装到最新版,如果您已经使用了本文的方法关闭了自动更新, 那么删掉现有 OneDrive 程序重新安装即可。下次微软再犯相同错误,可以如法炮制。

问题

某天,OneDrive 突然提示我它已经损坏了,重启也没什么反应。 我的第一反应是 mini 用的这块 ssd 大限到了, 不过后来看看其他程序和文件似乎也都正常,感觉又不太像是 ssd 的寿命问题。

如果不是 ssd 的寿命问题,之前 OneDrive 也是好好的,那么估计就是更新出问题了, 我的 OneDrive 是在 app store 安装的,打开商店看了一下,最近 OneDrive 果然有更新。

第一回合我们自然是先重装试试看能不能修复,顺带一提, OneDrive 内部有一个重置的命令,可以把 OneDrive 重置到出厂状态, 右键点击 OneDrive 应用,点击「显示包内容」:

img

接下来就可以在 Contents/Resources 下找到 ResetOneDriveApp.command:

img

双击运行就好,不过写在这里你应该可以猜到,这个和重装都没能解决问题。

解决

首先我们要安装旧版本的应用,很显然 app store 是没办法更新到指定版本的, 不过 brew 可以,只是需要一些小手段。

使用 HomeBrew 安装旧版应用

首先我们在 Homebrew Formulae 中找到 onedrive 的页面, 从这个页面我们可以找到 OneDrive 的 Cask code, 点击 history:

img

这时我们就可以看到近期的更新,我打算更新到 2 月 23 日的版本, 我们点击 #141750 右边「查看当时的代码

img

接下来 raw 按钮给出的就是 当时的 cask code 了,我们可以下载下来,使用以下命令安装:

1
brew install --cask onedrive.rb

安装好以后,千万不要立即执行 OneDrive!因为 OneDrive 自身也内嵌了更新机制, 一旦启动了 OneDrive,它就会自作聪明地自作主张, 把我们好不容易装上去的旧版更新为无法启动的最新版。

关闭自动更新

一个 OneDrive,三个更新进程,我们索性把它们全关掉:

1
2
3
launchctl remove com.microsoft.OneDriveStandaloneUpdater
sudo launchctl remove com.microsoft.OneDriveStandaloneUpdaterDaemon
sudo launchctl remove com.microsoft.OneDriveUpdaterDaemon

一不做二不休,配置文件也删了好了:

1
2
3
sudo rm /Library/LaunchAgents/com.microsoft.OneDriveStandaloneUpdater.plist
sudo rm /Library/LaunchDaemons/com.microsoft.OneDriveStandaloneUpdaterDaemon.plist
sudo rm /Library/LaunchDaemons/com.microsoft.OneDriveUpdaterDaemon.plist

这时我们再启动 OneDrive,整个世界清净了。

总结

如果你还在使用 catalina,并且也在使用 OneDrive 时,那么大概率会遇到这个问题, 其实我理解微软的做法,淘汰某个古老系统是正常的,更新也是按正常逻辑运行的, 但是两个加在一起,老系统就不正常了,这不能作为让用户承担问题的理由, 起码应该下发一个版本,停止旧版本的自动更新,再接下来向新系统下发更新。 不过我的牢骚微软应该是听不到的,如果你也有这个问题,那么请按以下步骤尝试:

  1. 重装旧版本应用,重装后不要立即启动
  2. 停用所有更新相关服务
l

ShadowsocksR/SSR一键脚本Ubuntu版

今天把Ubuntu系统的ShadowsocksR/SSR的一键脚本也补齐了,目前已经上传到 Github。CentOS系统请参考: ShadowsocksR/SSR一键脚本

提示:这是自行搭建科学上网环境的第三步,请确认已经做了前两步:

  1. 购买服务器。想要服务器速度快请参考 搬瓦工购买服务器详细教程购买AkkoCloud德国、美西CN2 GIA VPS ,想ip被封后免费换请参考:购买vultr服务器超详细图文教程
  2. 连接到服务器,Windows系统请参考 Bitvise连接Linux服务器教程,mac用户请参考 Mac电脑连接Linux教程

注意:

  1. 如果有域名,强烈建议使用 v2ray带伪装一键脚本,能有效应付近些天的疯狂封杀,提供稳如狗的体验!
  2. BBR换成魔改BBR/BBR Plus/锐速清参考:安装魔改BBR/BBR Plus/锐速(Lotserver)

使用教程

登录到购买好的Linux服务器(windows可参考 Bitvise连接Linux服务器教程,mac用户请参考 Mac电脑连接Linux教程),在终端(黑框框)里输入如下命令:

1
bash <(curl -sL https://raw.githubusercontent.com/hijkpw/scripts/master/ubuntu_install_ssr.sh)

按回车键,屏幕出现“请设置SSR的密码(不输入则随机生成)” 的提示,按照提示设置密码(SSR的密码。例如1234abcd,不是服务器网页后台的密码)、端口(SSR的端口,例如12345,不能是22和80)并选择加密方式。

接下来屏幕上开始疯狂出现一堆你看得懂看不懂的东西,如果安装过程中卡住,请耐心等待几分钟;安装期间网络断开(windows上表现为黑框框中或者顶部标题出现disconnected字样,mac表现为终端出现“closed by remote host”或”broken pipe”),请重新连接后再次执行命令。安装成功的界面如下:

[ubuntu ssr成功提示信息

ubuntu ssr成功提示信息

到此服务端配置完毕,服务器可能会自动重启(没提示重启则不需要),windows终端出现“disconnected”,mac出现“closed by remote host”说明服务器重启了。

SSR一键脚本做了如下事情:

  1. 更新系统到最新版
  2. 安装bbr加速模块
  3. 安装SSR并设置开机启动

客户端下载

接下来是科学上网最后一步:下载客户端,并参考页面中的配置教程进行配置:

ShadowsocksR/SSR windows客户端下载
ShadowsocksR/SSR安卓客户端下载
ShadowsocksR/SSR mac客户端下载
ShadowsocksR/SSR ios客户端下载

下载客户端配置好后,就可以愉快的上外网了!

其他

  1. 查看ssr运行状态/配置:bash <(curl -sL https://raw.githubusercontent.com/hijkpw/scripts/master/ubuntu_install_ssr.sh) info
  2. SSR管理命令:启动:systemctl start shadowsocksR;停止:systemctl stop shadowsocksR;重启:systemctl restart shadowsocksR
  3. 更改密码、端口、混淆参数的最简单方法:重新运行一键脚本;
  4. 升级到最新版:重新运行一键脚本;
  5. 卸载SSR:bash <(curl -sL https://raw.githubusercontent.com/hijkpw/scripts/master/ubuntu_install_ssr.sh) uninstall
l

1. 怎样锻炼口才?16种口才训练方法

看进去的东西,不是口才;讲出来的,才是口才;吸收进去的,不是口才,表达出来的才是口才。拳不离手,曲不离口,学习口才也要不断地开口开口再口!

1、朗读朗诵

自己读书,大声地读出来。每天坚持朗读一些文章,既练习口齿清晰伶俐,又积累一些知识量信息量,更重要的是对身体大有裨益,清喉扩胸,纳天地之气,成浩然之身!大家多读一些积极向上的文章,特别是《世界上最伟大的推销员》,我们强烈建议大家能够读熟背透。每天坚持朗读半小时以上,坚持两年三年。

2、对着镜子训练

建议你在自己的起居室中或是办公室某一墙面安装一大镜子,每天在朗读过程中,去对着镜子训练,训练自己的眼神,训练自己的表情,训练自己的肢体语言,这样效果更好。

3、自我录音摄像

如果条件允许,我建议您每隔一周时间,把自己的声音和演讲过程拍摄下来,这样反复观摩,反复研究哪儿我卡壳了,哪儿手势没到位,哪儿表情不自然,天长日久,你的口才自然进步神速。看一次自己的摄像比上台十次二十次效果都好。

4、尝试躺下来朗读

如果你想练就一流的运气技巧,一流的共鸣技巧,我教你一个非常简单的方法,就是:躺下来大声读书!当我们躺下来时,必然就是腹式呼吸,而腹式呼吸是最好的练声练气方法。每天睡觉之前,躺在床上大声地朗读十分钟,每天醒来之前,先躺在床上唱一段歌,再起来。坚持一至两个月,你会觉得自己呼吸流畅了,声音洪亮了,音质动听了,更有穿透力了,更有磁性了!

5、速读训练

这种训练目的,是在于锻炼人口齿伶俐,语音准确,吐字清晰。 方法:找来一篇演讲辞或一篇文辞优美的散文。先拿来字典、词典把文章中不认识或弄不懂的字、词查出来,搞清楚,弄明白,然后开始朗读。一般开始朗读的时候速度较慢,逐次加快,一次比一次读得快,最后达到你所能达到的最快速度。读的过程中不要有停顿,发音要准确,吐字要清晰,要尽量达到发声完整。因为如果你不把每个字音都完整地发出来,那么,如果速度加快以后,就会让人听不清楚你在说些什么,快也就失去了快的意义。我们的快必须建立在吐字清楚、发音干净利落的基础上。我们都听过体育节目的解说专家宋世雄的解说,他的解说就很有“快”的功夫。宋世雄解说的“快”,是快而不乱,每个字,每个音都发得十分清楚、准确,没有含混不清的地方。我们希望达到的快也就是他的那种快,吐字清晰,发音准确,而不是为了快而快。

6、即兴朗读

平时空闲时,你可以随便拿一张报纸,任意翻到一段,然后尽量一气呵成的读下去。而且,在朗读过程中,能够注意一下,上半句看稿子,下半句离开稿子看前面(假设前面有听众)。长期以往,你发现自己记忆力加强许多,快速理解力和即兴构思能力也在加强。

7、背诵法

背诵,并不仅仅要求你把某篇演讲辞、散文背下来就算完成了任务,我们要求的背诵,一是要“背”,二还要求“诵”。这种训练的目的有两个:一是培养记忆能力,二是培养口头表达能力。尝试去背诵一些文章,一篇一篇地去完成。天长日久,那些文章字句自然就转化为自己的词语了,练到一定时间就能张口就来口出华章。所谓:熟读唐诗三百首,不会吟诗也会吟!

8、复述法

复述法简单地说,就是把别人的话重复地叙述一遍。可以找一位伙伴一起训练。首先,请对方随便讲一个话题,或是一个故事。自己先注意倾听。然后再向对方复述一遍。这种练习在于锻炼语言的连贯性及现场即兴构思能力,和语言组织能力。如果能面对众人复述就更好了,它还可以锻炼你的胆量,克服紧张心理。

9、模仿法

我们每个人从小就会模仿,模仿大人做事,模仿大人说话。其实模仿的过程也是一个学习的过程。我们小时候学说话是向爸爸、妈妈及周围的人学习,向周围的人模仿。那么我们练口才也可以利用模仿法,向这方面有专长的人模仿。这样天长日久,我们的口语表达能力就能得到提高。 ①模仿专人。在生活中找一位口语表达能力强的人,请他讲几段最精彩的话,录下来,供你进行模仿。你也可以把你喜欢的、又适合你模仿的播音员、演员、相声表演家等的声音录下来,然后进行模仿。 ②专题模仿。几个好朋友在一起,请一个人先讲一段小故事、小幽默,然后大家轮流模仿,看谁模仿的最像。为了刺激积极性,也可以采用打分的形式,大家一起来评分,表扬模仿最成功的一位。这个方法简单易行,且有娱乐性。所要注意的是,每个人讲的小故事、小幽默,一定要新鲜有趣,大家爱听爱学。而且在讲之前一定要进行一些准备,一定要讲得准确、生动、形象,千万不要把一些错误的东西带去,否则模仿的人跟着错了,害人害己。 ③随时模仿。我们每天都听广播,看电视、电影,那么你就可以随时跟着播音员、演员进行模仿,注意他的声音、语调,他的神态、动作,边听边模仿,边看边模仿,天长日久,你的口语能力就得到了提高。而且会增加你的词汇,增长你的文学知识。 ④要求要尽量模仿得像。要从模仿对象的语气、语速、表情、动作等多方面进行模仿,并在模仿中有创造,力争在模仿中超过对方。在进行这种练习时,一要注意选择适合自己的对象进行模仿。要选择那些对自己身心有好处的语言动作进行模仿,我们有些同学模仿力很强,可是在模仿时都不够严肃认真,专拣一些脏话进行模仿,久而久之,就形成了一种低级的趣味,我们反对这种模仿方法。

10、描述法

小的时候我们都学过看图说话,描述法就类似于这种看图说话,只是我们要看的不仅仅是书本上的图,还有生活中的一些景、事、物、人,而且要求也比看图说话高一些。简单地说,描述法也就是把你看到的景、事、物、人用描述性的语言表达出来。描述法可以说是比以上的几种训练法更进一步。这里没有现成的演讲辞、散文、诗歌等做你的练习材料,而要求你自己去组织语言进行描述。所以描述法训练的主要目的就在于训练同学们的语言组织能力和语言的条理性。在描述时,要能够抓住特点进行描述。语言要清楚,明白,要有一定的文采。一定要用描述性的语言,尽量生动些,活泼些。这可以训练我们积累优美词语的应用能力。

11、角色扮演法

在我们的培训过程中,经常让学员进行角色扮演,组织角色语言去演讲,叫“情境模拟训练法”,比如扮演律师,扮演市长答记者问,扮演领导开动员会,扮演新郎新娘即兴发言等等,还可以选择小品中的角色扮演,直接让学员去演小品,去扮演作品中出现的不同的人物,当然这个扮演主要是在语言上的扮演。这种训练的目的,在于培养人的语言的适应性、个性,以及适当的表情、动作。

12、讲故事法

我们的口才培训,要求学员能够讲100个以上的故事,不同时候要能够讲不同的故事,而且现场就能想出符合场合的故事。这就要求我们积累大量的素材。同时还要讲得动听,讲得精彩,熟能生巧,讲多了口才就来了!

13、积累知识,多翻翻字典、成语词典

建议各位办公桌上和家里都放一本《新华字典》和《现代汉语成语词典》,有空就翻翻,不认识的字多看看,认识的字也再看细些,你会发现中国的文字博大精深,坚持下去,你的词汇量会越来越多,你的口才自然越来越棒!

14、对口才产生兴趣 兴趣是最好的老师

当你的焦点在口才训练上时,你必然就会关注平时生活工作中的口才技巧。兴趣在哪里,焦点到哪里;焦点到哪里,学问到哪里!这种方法进步更快。即使看电视,也在注意台词的优美,交际的仪态,幽默的笑眼,必然进步神快!

15、写日记

写日记是最好的自我沟通的方法,每天写上一千来字,既整理自己的思路,反省当日之进步与不足,梳理自己的情绪,释放一些不快,又可以学会遣词造句,天长日久,手能写之,口必能言之。

16、多找机会上台

很多同学认为生活中缺少锻炼的舞台,没有公众场合发言的机会。其实,这是一种误区,我们平时生活工作中,公众演讲的机会太多了,只是我们没有发现,没有这个意识去参与。 如果你想突破口才瓶颈,你一定要多找机会讲话。每次开会,必定坐第一排,必定要举手发表一下自己的观点;有机会就给自己的员工、小组成员开开会;有机会还可以开开家庭会议,把家庭打造在学习口才的舞台;现在每逢节假日,路演比较流行,那一有机会你就上台去参与,不要管那么多,你只是在锻炼自己而已!放下自己,放下一切时,你发现学习口才就这么简单!

l

2019 Mac13.6安装cuda+cudnn+pytorch

本次主要记录一些自己遇到的问题的解决方案

CUDA、cuDNN

大致流程参照 2018 MAC安装CUDA、cuDNN(Gaming Box1070)

顺序是:GPU Driver、CUDA Driver、CUDA Toolkit、cuDNN

安装驱动时要注意:

1
2
MacOS与NVIDIA GPU Driver的版本要匹配,才能驱动显卡
CUDA Driver与NVIDIA GPU Driver的版本要一致,CUDA才能找到显卡

关键地址:

我自己安装好后的配置是:

  • GPU Driver Version: 387.10.10.10.40.105

  • CUDA Driver Version: 418.105

  • CUDA:10.1.105

  • cuDNN:7.4.

版本查看方式:

1
2
cat $CUDA_HOME/version.txt # CUDA
cat $CUDA_HOME/include/cudnn.h | grep CUDNN_MAJOR -A 2 #cuDNN

Pytorch with CUDA

Pytorch官方 说的很清楚:

1
MacOS Binaries dont support CUDA, install from source if CUDA is needed

目前要with CUDA有两个方式:从源码安装、安装第三方pip包

从源码安装

参照:https://github.com/pytorch/pytorch#from-source

这条路我没走通。虽然成功编译了pytorch,但执行import torch时遇到了错误:

1
ModuleNotFoundError: No module named 'torch._C'

按照google结果,我应该在 torch 目录的以下两个文件复制:

1
2
cp _C.cpython-37m-darwin.so _C.so
cp _dl.cpython-37m-darwin.so _dl.so

但我的 torch 目录下没有这两个文件

第三方pip包

参照:https://github.com/TomHeaven/pytorch-osx-build

我下载的是:pytorch-1.0-py27-py37-cuda10-cudnn74

这是别人编译好的pip包,下载后用pip安装即可:

1
pip install torch-1.0-cp37-cp37m-macosx_10_13_x86_64.whl

No module named ‘torch._C’
Library not loaded: @rpath/xxxx.10.0.dylib
在运行 import torch 时报的错,比如:

1
2
3
4
5
6
7
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/jerry/anaconda3/lib/python3.7/site-packages/torch/__init__.py", line 84, in <module>
from torch._C import *
ImportError: dlopen(/Users/jerry/anaconda3/lib/python3.7/site-packages/torch/_C.cpython-37m-darwin.so, 9): Library not loaded: @rpath/libcufft.10.0.dylib
Referenced from: /Users/jerry/anaconda3/lib/python3.7/site-packages/torch/lib/libtorch_python.dylib
Reason: image not found

libcufft是cuda的库,这里只是文件名没找到而已,而库文件其实是在 $CUDA_HOME/lib下的,所以手动链接一下就行,下面是对同类错误的库进行统一处理:

1
2
3
4
5
6
sudo ln -s $CUDA_HOME/lib/libcufft.10.dylib $CUDA_HOME/lib/libcufft.10.0.dylib
sudo ln -s $CUDA_HOME/lib/libcurand.10.dylib $CUDA_HOME/lib/libcurand.10.0.dylib
sudo ln -s $CUDA_HOME/lib/libcublas.10.dylib $CUDA_HOME/lib/libcublas.10.0.dylib
sudo ln -s $CUDA_HOME/lib/libcudart.dylib $CUDA_HOME/lib/libcudart.10.0.dylib
sudo ln -s $CUDA_HOME/lib/libnvrtc.dylib $CUDA_HOME/lib/libnvrtc.10.0.dylib
sudo ln -s $CUDA_HOME/lib/libcusparse.10.dylib $CUDA_HOME/lib/libcusparse.10.0.dylib

在import torch的时候报错

1
2
3
4
5
6
7
8
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.7/site-packages/torch/__init__.py", line 84, in <module>
from torch._C import *
ImportError: dlopen(/usr/local/lib/python3.7/site-packages/torch/_C.cpython-37m-darwin.so, 9): Library not loaded: @rpath/libcufft.10.0.dylib
Referenced from: /usr/local/lib/python3.7/site-packages/torch/lib/libtorch_python.dylib
Reason: image not found

尝试了以上办法,还是import不了。也Google找了一下其他办法,有人说是brew install libomp一下就可以解决了,我这边是没有效果。

后来看到Tomheaven提供的pip包是需要cuda和cuDNN一一对应的,一开始没发现。

比如说如果要装pytorch1.4的话,cuda和cuDNN的版本就必须是10和7.4。因此我卸载了之前装的cuda和cuDNN重装了对应版本的。

再来安装pytorch时,还是有个问题

1
2
$ pip install /Users/shirleytse/Downloads/torch-1.0-cp37-cp37m-macosx_10_13_x86_64.whl 
ERROR: torch-1.0-cp37-cp37m-macosx_10_13_x86_64.whl is not a supported wheel on this platform.

把pip改成pip3就可以了。

检查pytorch是否安装成功

img

l

Mac python 多版本安装、删除、切换

一、安装pyenv

1
brew install pyenv

img

二、查看当前安装的pyenv的版本

1
pyenv -v

img

三、将pyenv配置到全局环境变量中

1.打开全局的环境变量配置文件

1
vim  /etc/profile 

2.在profile 文件最下边加上这两行配置

1
2
export PYENV_ROOT=~/.pyenv
export PATH=$PYENV_ROOT/shims:$PATH

img

3.使环境变量配置文件立即生效

1
source /etc/profile 

img

四、查看所有的python版本

1
pyenv versions 

img

*指向的是当前所使用的版本,system是系统安装的python

五、查看所有可以安装的python版本

1
pyenv install --list

img

列表很长,这里截图只是一部分。

六、安装指定版本的python

命令格式:pyenv install 版本号 ,eg:

1
2
pyenv install 3.8.9
pyenv rehash # 在进行安装、删除指定python版本后使用,更新版本管理数据库

img

七、查看当前安装的所有版本

1
pyenv versions

八、切换python版本

  1. 全局切换

命令格式:pyenv global 版本号,eg:

1
pyenv global 3.5.5
  1. 当前目录及其子目录生效(激活)

命令格式: pyenv local 版本号, eg:

1
pyenv local 3.5.5

激活后,在每次进入该目录时会自动切换到指定的版本。如果取消激活则使用–unset参数:

1
pyenv local --unset
  1. 验证是否切换成功
1
python -V 

九、卸载指定的Python版本

1
2
pyenv uninstall 3.8.9
pyenv rehash # 在进行安装、删除指定python版本后使用,更新版本管理数据库

十、更新版本管理数据库

在进行安装、删除指定python版本后使用,更新版本管理数据库

1
pyenv rehash 

注意:

1
2
3
4
5
export PYENV_ROOT=~/.pyenv
export PATH=$PYENV_ROOT/shims:$PATH 为什么我在/etc/profile 加了这两行不生效,
然后在 ~/.zshrc 加了下面内容就好了
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
l

超NB的微信Mac插件——微信小助手

功能

  • 消息自动回复
  • 消息防撤回
  • 远程控制(已支持语音)
  • 微信多开
  • 第二次登录免认证
  • 聊天置底功能(类似置顶)
  • 微信窗口置顶
  • 会话多选删除
  • 自动登录开关
  • 通知中心快捷回复
  • 聊天窗口表情包复制 & 存储
  • 小助手检测更新提醒
  • alfred 快捷发送消息 & 打开窗口 (需安装:wechat-alfred-workflow)
  • 会话一键已读
  • 一键清除空会话
  • 支持国际化
  • 新增一键更新
  • 新增关于小助手
  • 去除微信url转链(从此直接打开抖音链接
  • 史上最强 alfred 扩展
  • 新增移除会话(不删除聊天记录)
  • 菜单栏(关于小助手)新增 alfred 开关
  • 新增是否使用微信自带浏览器开关
  • 新增LaunchBar 扩展

若无使用 alfred,则不必打开 alfred 开关

远程控制:

  • 屏幕保护
  • 清空废纸篓
  • 锁屏、休眠、关机、重启
  • 退出QQ、WeChat、Chrome、Safari、所有程序
  • 网易云音乐(播放、暂停、下一首、上一首、喜欢、取消喜欢)
  • 小助手(获取指令、防撤回开关、自动回复开关、免认证登录开关)

不多说,直接看Demo演示看有多强大吧。

Demo演示

  • 消息防撤回

  • 自动回复

img

  • 微信多开

img

  • 远程控制 (测试关闭Chrome、QQ、开启屏幕保护)

img

  • 免认证 & 置底 & 多选删除

img

  • 通知中心快捷回复

img

  • 聊天窗口表情复制 & 存储

img

  • 语音远程控制 mac

img

img

  • Alfred 搜索最近聊天列表 & 查看聊天记录

img

  • 一键已读 & 一键清除空回话

img


使用

  • 消息防撤回:点击开启消息防撤回或者快捷键command + t,即可开启、关闭。
  • 自动回复:点击开启自动回复或者快捷键conmand + k,将弹出自动回复设置的窗口,点击红色箭头的按钮设置开关。

若关键字为 *,则任何信息都回复; 若关键字为x|y,则 x 和 y 都回复; 若关键字或者自动回复为空,则不开启该条自动回复; 可设置延迟回复,单位:秒; 若开启正则,请确认正则表达式书写正确,在线正则表达式测试 若开启特定联系人回复,则原先的群聊&私聊回复无效

img

  • 微信多开:点击登录新微信或者快捷键command + shift + n,即可多开微信。
  • 远程控制:点击远程控制 Mac OS或者快捷键command + shift + c,即可打开控制窗口。

注意:仅向自己账号发送指令有效

img


安装

详细安装方法(或者需要重新编译)请查阅 Install.md

1. 懒癌版安装

1.1 无需安装Git

打开应用程序-实用工具-Terminal(终端),执行下面的命令安装 Oh My WeChat

1
curl -o- -L https://raw.githubusercontent.com/lmk123/oh-my-wechat/master/install.sh | bash -s

然后运行 omw 即可。

可以访问 Oh My WeChat 的项目主页查看更多用法。

1.2 需要安装Git

打开应用程序-实用工具-Terminal(终端),执行下面的命令安装

1
cd ~/Downloads && rm -rf WeChatPlugin-MacOS && git clone https://github.com/TKkk-iOSer/WeChatPlugin-MacOS.git --depth=1 && ./WeChatPlugin-MacOS/Other/Install.sh

2. 普通安装

  • 点击clone or download按钮下载 WeChatPlugin 并解压,打开Terminal(终端),拖动解压后Install.sh 文件(在 Other 文件夹中)到 Terminal 回车即可。

3. 安装完成

  • 重启微信,在菜单栏中看到微信小助手即安装成功。

GitHub官方地址:TKkk-iOSer/WeChatPlugin-MacOS

感谢插件作者:tkk.ioser ,这个插件真的棒。

卸载

打开Terminal(终端),拖动解压后Uninstall.sh 文件(在 Other 文件夹中)到 Terminal 回车即可。

l

word宏

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
Sub 首行缩进()
'
' 首行缩进 宏
'
'
With Selection.ParagraphFormat
.LeftIndent = CentimetersToPoints(0)
.RightIndent = CentimetersToPoints(0)
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 0
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpace1pt5
.Alignment = wdAlignParagraphLeft
.WidowControl = False
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.Hyphenation =
.FirstLineIndent = CentimetersToPoints(0.35)
.OutlineLevel = wdOutlineLevelBodyText
.CharacterUnitLeftIndent = 0
.CharacterUnitRightIndent = 0
.CharacterUnitFirstLineIndent = 2
.LineUnitBefore = 0
.LineUnitAfter = 0
.MirrorIndents = False
.TextboxTightWrap = wdTightNone
.CollapsedByDefault = False
.AutoAdjustRightIndent = True
.DisableLineHeightGrid = False
.FarEastLineBreakControl = True
.WordWrap = True
.HangingPunctuation = True
.HalfWidthPunctuationOnTopOfLine = False
.AddSpaceBetweenFarEastAndAlpha = True
.AddSpaceBetweenFarEastAndDigit = True
.BaseLineAlignment = wdBaselineAlignAuto
End With
End Sub
Sub InsertCaption() '修改系统插入“题注”命令

'功能:自动删除标签与编号间的空格(英文除外),并在题注数字后添加一个空格;适用于:Word 2003 - 2013,不兼容WPS文字!
'真正从原理上协同系统插入题注,无任何前提条件;用户照常插入题注即可,甚至感觉不到程序的存在!
'Endlesswx于2015年8月4日

'另,如果插入的始终未域代码而不是数字,非程序问题,Alt+F9一次即可

Dim Lab As String, startPt As Long, endPt As Long, myrang As Range
'On Error Resume Next '发生错误时让程序继续执行下一句代码
' Application.ScreenUpdating = False '关闭屏幕更新,2013在此处关闭更新会导致输入框灰色不可选,故修正在调出对话框之后

startPt = Selection.Start 'startPt标注起始点

'将if条件隐藏隐藏即可实现----手动替换题注空格
If Application.Dialogs(357).Show = -1 Then '插入“题注”对话框秀出来,如果按确定结束时执行以下程序,避免按取消后的空格,357也可换成wdDialogInsertCaption

Application.ScreenUpdating = False '关闭屏幕更新

Lab = Dialogs(357).Label
endPt = Selection.Start 'endPt标记插入的题注部分终点
Selection.Start = startPt '选定插入的整个题注

'删除标签与编号间的空格(英文后的保留)
With Selection.Find
.Text = Lab & " "
.Forward = True 'False=向上查找,(True=向下查找)
.MatchWildcards = False '不使用通配符
If Lab Like "*[0-9a-zA-Z.]" Then '此处判断标签的最后一个字符是否为英文或数字,是则不删除空格
Else
.Replacement.Text = Lab
.Execute Replace:=wdReplaceOne '替换找到的第一个,此处用作删除空格
endPt = endPt - 1 '删除空格后,末位减1
Selection.End = endPt
End If
End With

'在题注数字后添加一个空格
Selection.Fields.ToggleShowCodes '切换域代码,这样才能用^d查找域
With Selection.Find
.Text = "^d"
.Replacement.Text = "^& "
.Forward = False 'False=向上查找,(True=向下查找)
.MatchWildcards = False '不使用通配符
.Execute Replace:=wdReplaceOne '替换找到的第一个,此处用作添加空格
End With

'选定整个插入的题注内容,将域代码切换回来
endPt = endPt + 1 '增加空格后,末位加1
With Selection
.Start = startPt
.End = endPt
.Fields.ToggleShowCodes '切换域代码(切换回来)
End With

'将光标定位至题注所在段尾处
' Selection.MoveRight Unit:=wdCharacter, Count:=1 '此句光标返回插入题注前的原始位置,对于已经输好标题的情况并不合适
'选择段尾回车符
With Selection.Find
.Text = "^13"
.Forward = True 'False=向上查找,(True=向下查找)
.MatchWildcards = False '不使用通配符
.Wrap = wdFindContinue '继续查找
.Execute
End With
Selection.MoveLeft Unit:=wdCharacter, Count:=1 '定位到段尾回车前

End If
Application.ScreenUpdating = True '恢复屏幕更新

End Sub
Sub 批量修改表格()
Dim tempTable As Table
Application.ScreenUpdating = False
If ActiveDocument.ProtectionType = wdAllowOnlyFormFields Then
MsgBox "文档已保护,此时不能选中多个表格!"
Exit Sub
End If
ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
For Each tempTable In ActiveDocument.Tables
tempTable.Range.Editors.Add wdEditorEveryone
Next
ActiveDocument.SelectAllEditableRanges wdEditorEveryone
ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
Application.ScreenUpdating = True
End Sub
Sub FormatAllTables()
For i = 1 To ActiveDocument.Tables.Count
' ActiveDocument.Tables(i).Style = "my"
With ActiveDocument.Tables(i).Range.ParagraphFormat
.LeftIndent = CentimetersToPoints(0)
.RightIndent = CentimetersToPoints(0)
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 0
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpace1pt5
.Alignment = wdAlignParagraphJustify
.WidowControl = False
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.Hyphenation = True
.FirstLineIndent = CentimetersToPoints(0)
.OutlineLevel = wdOutlineLevelBodyText
.CharacterUnitLeftIndent = 0
.CharacterUnitRightIndent = 0
.CharacterUnitFirstLineIndent = 0
.LineUnitBefore = 0
.LineUnitAfter = 0
.MirrorIndents = False
.TextboxTightWrap = wdTightNone
.AutoAdjustRightIndent = True
.DisableLineHeightGrid = False
.FarEastLineBreakControl = True
.WordWrap = True
.HangingPunctuation = True
.HalfWidthPunctuationOnTopOfLine = False
.AddSpaceBetweenFarEastAndAlpha = True
.AddSpaceBetweenFarEastAndDigit = True
.BaseLineAlignment = wdBaselineAlignAuto
End With
' 设置表中的字体及大小
ActiveDocument.Tables(i).Select
With Selection
.Font.Size = 10
.Font.Name = "宋体"
.InsertCaption Label:="表格", TitleAutoText:="InsertCaption1", _
Title:="", Position:=wdCaptionPositionAbove, ExcludeLabel:=0
End With
ActiveDocument.Tables(i).Cell(1, 1).Select
With Selection
.SelectRow
.Font.Bold = True
.Shading.BackgroundPatternColor = -603923969
.ParagraphFormat.Alignment = wdAlignParagraphCenter
End With
Next
End Sub
Sub 表格题注()
'
'
If ActiveDocument.Tables.Count >= 1 Then
Set act_Doc = ActiveDocument
For Each otable In act_Doc.Tables
CaptionLabels.Add Name:="表星星星"
With otable.Range.InsertCaption(Label:="表星星星", Position:=wdCaptionPositionAbove)
'Position:=wdCaptionPositionBelow
End With
Next
End If

End Sub

Sub 字体调整()
'
' 字体调整 宏
'
'
Selection.Font.Name = "仿宋_GB2312"
Selection.Font.Size = 14
Selection.Font.Color = -587137025
End Sub
Sub 删除换行及空格()
'
' 删除换行及空格 宏
' 用于调整从PDF文件中复制出的文字格式
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " "
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p^p"
.Replacement.Text = "^p"
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Sub 删除空白()
'
' 删除空白 宏
'
'
' Selection.WholeStory
'
Application.Run MacroName:="Normal.NewMacros.删除换行及空格"
Application.Run MacroName:="Normal.NewMacros.首行缩进"
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p^p"
.Replacement.Text = "^p"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Sub 英文改times字体()
'
' 英文改times字体 宏
'
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "[0-9a-zA-Z]"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

l

前言概览

记得刚开始接触Linux的时候是大学二年级,使用Linux的时间也有五年多了,至于为何会接触到此系统呢,归于一个带我飞的大学同学左蓝。在这一年多的时间里,使用的最多的 Linux 系统是基于 debian 发行版系列的Ubuntu,对于它的简介呢,那就维基百科ubuntu。我旨在记录并分享我在ubuntu的深渊使用过并觉得推荐的应用或工具,要是你有更好的推荐希望留言或简信,Thanks♪(・ω・)ノ

update 2019.12.14
content 将常用的以及推荐的软件或工具继承GUI界面,可谓一目了然

gui-install

使用方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
wget https://github.com/alicfeng/Linux_env/blob/master/shell/os/install/helper.sh && bash helper.sh
```git


>为了更方便安装该软件或应用,已经编写好了一个Shell-[AShellTools](https://github.com/alicfeng/Alic_env/blob/master/dever/AShellTools.sh)。Constantly update ...

![AShellTools](http://upload-images.jianshu.io/upload_images/1678789-2f5a044a49c0840c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
___
#### 目录

- 日常工具
- 系统工具
- 开发工具
- 终端工具
___
#### 一、日常工具篇
###### 1.1、Google Chrome
[Google Chrome](https://www.google.com/chrome/)是一个由Google公司开发的免费网页浏览器,其应用商店有众多出色的应用以及插件,此应用属于跨平台于Mac、Linux、Windows、Android等,因而数据的同步就okay了;此外它还拥有一个开源的兄弟Chromium。**强烈推荐**

![Google Chrome](http://upload-images.jianshu.io/upload_images/1678789-e1f450fab50adc18.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

方法一:在官网下载对应版本的deb后执行
~~~
sudo dpkg -i *.deb && sudo apt-get install -fy
~~~
方法二:包管理apt-get安装
~~~
sudo apt-get install google-chrome-stable
~~~
>刚说了Google Chrome有众多的出色的插件,那还是得说几个我常用的
`AdBlock`:最受欢迎的Chrome扩展,拥有超过4000万用户!屏蔽整个互联网上的广告
`The QR Code Extension`:允许当前页面生成QR码,并使用网络摄像头扫描QR码。
`Window Resizer`:调节屏幕的分辨率,诸多时候用户开发
`Vimium`:vim的分身
`Proxy SwitchyOmega`:轻松快捷地管理和切换多个代理设置
`Wechat`:微信
`马克飞象`:使用印象笔记扩展程序一键保存精彩网页内容到印象笔记帐户
`惠惠购物助手`:【网易出品】在您网购浏览商品的同时,自动对比其他优质电商同款商品价格,并提供商品价格历史,帮您轻松抄底,聪明网购不吃亏
`JSON-handle`:顾名思义就是处理JSON数据的工具
... ...

___

###### 1.2、Firefox
[Firefox](http://www.firefox.com.cn/)即火狐浏览器,它是一个安全高效且体积小的浏览器,它具有速度快、隐私保护、不同设备之间同步数据、个性化定制等特性,对于我来说呢,Firefox具有众多的开发插件。

![Paste_Image.png](http://upload-images.jianshu.io/upload_images/1678789-c9bc860c3a69d41d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
~~~
sudo apt-get install firefox -y
~~~
___
###### 1.3、Gparted
[GParted](http://gparted.org/)是一个分区工具,它可以用于创建、删除、移动分区,调整分区大小,检查、复制分区等操作。可以用于调整分区以安装新操作系统、备份特定分区到另一块硬盘等。

![Gparted](http://upload-images.jianshu.io/upload_images/1678789-35df1b78a50b27af.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
sudo apt-get install gparted -y
~~~
___

###### 1.4、搜狗输入法
[搜狗输入法](http://pinyin.sogou.com/linux/?r=pinyin)顾名思义,它就是一个输入法。

![搜狗输入法](http://upload-images.jianshu.io/upload_images/1678789-8d9877d9112e3032.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
#在官网下载deb后,执行
sudo dpkg -i *.deb && sudo apt-get install -fy
~~~
___

###### 1.5、FileZilla
[FileZilla](https://filezilla-project.org/)是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。可控性、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户端工具。

![FileZilla](http://upload-images.jianshu.io/upload_images/1678789-def291b922b1a08f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
sudo apt-get install filezilla
~~~
___
###### 1.6、WPS
[WPS](http://www.wps.cn/)是由金山软件股份有限公司自主研发的一款办公软件套装,可以实现办公软件最常用的文字、表格、演示等多种功能。具有内存占用低、运行速度快、体积小巧、强大插件平台支持等特点。

![WPS](http://upload-images.jianshu.io/upload_images/1678789-a3d437156839db0d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
#在官网下载对应版本的deb后执行
sudo dpkg -i *.deb && sudo apt-get install -fy
~~~
>顺便路过提提[LibreOffice](https://zh-cn.libreoffice.org/) ,它也是是一款功能强大的办公套件,默认在ubuntu自带,强迫症看起来不舒服不使用。
___

###### 1.7、有道翻译
[有道词典](http://www.youdao.com)是由网易有道出品的全球首款基于搜索引擎技术的全能免费语言翻译软件,为全年龄段学习人群提供优质顺畅的查词翻译服务。

![有道词典](http://upload-images.jianshu.io/upload_images/1678789-cadc9b801e8c7706.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
#在官网下载对应版本的deb后执行
sudo dpkg -i *.deb && sudo apt-get install -fy
~~~
___
###### 1.8、网易云音乐
[网易云音乐](http://music.163.com/)是一款专注于发现与分享的音乐产品,依托专业音乐人、DJ、好友推荐及社交功能,为用户打造全新的音乐生活。

![网易云音乐](http://upload-images.jianshu.io/upload_images/1678789-1d64ee4ea1d4918a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
#在官网下载对应版本的deb后执行
sudo dpkg -i *.deb && sudo apt-get install -fy
~~~
◾ 网易云音乐最小化托盘问题 ,解决方案:把原来的Exec那行改为
>Exec=env XDG_CURRENT_DESKTOP=Unity netease-cloud-music %U

___

###### 1.9、VLC
[VLC](http://www.videolan.org/) 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。

![VLC](http://upload-images.jianshu.io/upload_images/1678789-c267981da96d5c84.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
sudo apt-get install vlc -y
~~~
>附带暗转媒体解码框架

~~~
sudo apt-add-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get install Ubuntu-restricted-extras ffmpeg gstreamer0.10-plugins-ugly libavcodec-extra-54 libvdpau-va-gl1 libmad0 mpg321 gstreamer1.0-libav
~~~
___

###### 1.10、Kazam
[Kazam](http://www.kazam.mobi/) 是 Ubuntu 上一款简易的桌面屏幕录制工具,它只能录制整个屏幕,可以录制声音,并可以快速上传录制好的视频到 YouTube 及 VideoBin 视频分享网站上。

![Kazam](http://upload-images.jianshu.io/upload_images/1678789-c78fa49d58293323.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
sudo add-apt-repository ppa:and471/kazam-daily-builds
sudo apt-get update
sudo apt-get install kazam
~~~
___


###### 1.11、Silentcast
[Silentcast](https://github.com/colinkeenan/silentcast)是一款专注于GIF录制工具。

![Silentcast](http://upload-images.jianshu.io/upload_images/1678789-df11966b9a975747.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
sudo add-apt-repository ppa:sethj/silentcast
sudo apt-get update
sudo apt-get install silentcast
~~~
___

###### 1.12、Smplayer
[Smplayer](http://smplayer.sourceforge.net)是一款开源的跨平台软件,其在Linux、Windows系统中有重要地位,影音播放能力很强大。

![Smplayer](http://upload-images.jianshu.io/upload_images/1678789-97d1a13282e30d54.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
sudo apt-get install smplayer
~~~
___


###### 1.13、Audience
[Audience](http://design.ubuntu.com/audiences)是一款简洁而强大的视频播放器,怎么说呢:简洁到不能再简洁。它是ElementaryOS系统默认的视频播放器,强烈推荐!

![Audience](http://upload-images.jianshu.io/upload_images/1678789-cc11e45e7072db35.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
sudo apt-get install audience
~~~
___

###### 1.14、Gimp
[Gimp](https://www.gimp.org)是一个图片编辑器,优雅地取代windows、mac下的另一个ps软件。

![Gimp](http://upload-images.jianshu.io/upload_images/1678789-4dca87a18d197bb6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
sudo add-apt-repository ppa:otto-kesselgulasch/gimp
sudo apt-get install gimp
~~~
___

###### 1.15、Krita
[Krita]()是一个位图形编辑软件,包含一个绘画程式和照片编辑器。Krita是开源软件软件,Krita和gimp是有很大区别的,一句通俗的言语来表名:gimp是编辑图像用的,krita是画画用的。

![Krita](http://upload-images.jianshu.io/upload_images/1678789-3c551749859c4f12.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt-get install kdelibs-bin kbuildsycoca4 --noincremental krita -y
~~~
___
###### 1.16、gedit
[gedit](https://gedit.en.softonic.com/)是一个基于GNOME桌面环境下兼容UTF-8的文本编辑器。它使用GTK+编写而成,因此它十分的简单易用,有良好的语法高亮,对中文支持很好,支持包括gb2312、gbk在内的多种字符编码。甚至你可以配置成用于开发的IDEA,我才不折腾这个呢。

![gedit](http://upload-images.jianshu.io/upload_images/1678789-01cd68387d0b13da.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
sudo apt-get install gedit
~~~
我还是经常习惯使用ElementaryOS自带的scratch-text-editor编辑器,不过它在ElementaryOS中使用搜狗输入法有一个bug:就是在非root下不能输入中文。
解决方案:
~~~
#将原来的
Exec=scratch-text-editor %U
X-GNOME-Gettext-Domain=scratch-text-editor
#改成如下
Exec=env GTK_IM_MODULE=xim scratch-text-editor %U
X-GNOME-Gettext-Domain=env GTK_IM_MODULE=xim scratch-text-editor
~~~
>既然讲到了文本编辑器,肯定少不了vim,接触过linux的几乎都认识这家伙,我也不多说。
[*Vim*最少必要知识](http://www.jianshu.com/p/881a168d454a)

___

###### 1.17、x11vnc客户端
[x11vnc](http://design.ubuntu.com/audiences)是一种 位图显示的 视窗系统 。它是在 Unix 和 类Unix 操作系统 ,以及 OpenVMS 上建立图形用户界面的标准工具包和协议。x11vnc服务端可以实现Windows远程Linux桌面系统。

![X11vnc-server](http://upload-images.jianshu.io/upload_images/1678789-c660087c3b58ae61.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
sudo apt-get install x11vnc
~~~
___

###### 1.18、Shadowsocks-qt5
[Shadowsocks-qt5](https://github.com/shadowsocks/shadowsocks-qt5)是一个科学上网利器工具。在天朝莫谈国情,说说Shadowsocks原理就好,它是将原来 ssh 创建的 Socks5 协议拆开成 Server 端和 Client 端,两个端分别安装在境外服务器和境内设备上。

![Shadowsocks-qt5](http://upload-images.jianshu.io/upload_images/1678789-9fafbe3453c332bb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


~~~
sudo add-apt-repository ppa:hzwhuang/ss-qt5
sudo apt-get update
sudo apt-get install shadowsocks-qt5 -y
~~~
___

###### 1.19、VirtualBox
[VirtualBox](https://www.virtualbox.org)是一款由德国 Innotek 公司开发的开源虚拟机软件。号称是最强的免费虚拟机软件,它不仅具有丰富的特色以及轻量级的体积,而且性能也很优异!可虚拟的系统包括所有的Windows系统、Mac OS X、Linux、OpenBSD、Solaris、IBM OS2甚至Android等操作系统!为了完整地使用VirtualBox,尽量安装VirtualBox Extension Pack。

![VirtualBox](http://upload-images.jianshu.io/upload_images/1678789-812055590d4edf33.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
#在官网下载对应版本的deb后执行
sudo dpkg -i *.deb && sudo apt-get install -fy
~~~
___

###### 1.20、Steam
Steam是一个整合游戏下载平台,很少玩游戏也不多少了#_#

![Steam](http://upload-images.jianshu.io/upload_images/1678789-f57bada6e5b64743.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
sudo apt-get install steam
~~~
___
###### 1.21、electronic-wechat
[electronic-wechat](https://github.com/geeeeeeeeek/electronic-wechat)是一个基于nodeJS开发的Linux系统微信。

![Paste_Image.png](http://upload-images.jianshu.io/upload_images/1678789-edcec7f36feaa6c3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

~~~
git clone https://github.com/geeeeeeeeek/electronic-wechat.git
cd electronic-wechat
npm install && npm start
~~~
附上THis
微信之外最优选!纯净安全的聊天工具 – Telegram #iOS #Android #WP #Linux
```shell
sudo add-apt-repository ppa:atareao/telegram
sudo apt-get update
sudo apt-get install telegram

1.22、Skype

Skype 是一款即时通讯软件,具备视频聊天、多人语音会议、传送文件、文字聊天等功能。它允许用户进行跨平台的视频呼叫,可与使用电脑、手机、电视、PSV 等多种终端的 Skype 用户进行视频通话。

Skype


1.23、 Transmission

Transmission 是一个 BitTorrent 客户端软件,它支持速度限制、制作种子、远程控制、磁力链接、数据加密、损坏修复、数据来源交换等功能。

Transmission

1
sudo apt-get install transmission

1.24、 thunderbird

thunderbird是又是一个简洁易用的邮箱客户端。

thunderbird

1
sudo apt-get install thunderbird

1.25、XMind

XMind是一款实用的思维导图软件,简单易用、美观、功能强大,拥有高效的可视化思维模式,具备可扩展、跨平台。但是对于稳定性和性能还是欠佳,在ubuntu上使用占用很大的CPU资源。

XMind

1
2
#在官网下载对应版本的deb后执行
sudo dpkg -i *.deb && sudo apt-get install -fy

1.26、Okular

Okular 是一个 PDF 文档阅读软件,支持 PDF、TIFF、CHM、ODF、EPUB、mobi 等文档格式。

Okular

1
sudo apt install okular -y

1.27、FocusWriter

FocusWriter 是一款写作软件,为了让您的写作空间尽可能的多且不受打扰,FocusWriter 将几乎所有的工具栏都自动隐藏在屏幕边缘。利用 FocusWriter 写作便利流畅,您还可以设置闹钟和每日任务,非常适合撰稿人、小说写手、剧本作家使用。左蓝推荐!

FocusWriter

1
sudo apt install focuswriter

1.28、Typora

Typora是极简的Markdown编辑器,合并了写作和预览。支持表格、代码编辑,拖拽插图等,非常好用;喜欢它的原因也就是:美观、免费。

Typora

1
2
3
4
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE
sudo add-apt-repository 'deb https://typora.io linux/'
sudo apt-get update
sudo apt-get install typora

1.29、OBS Studio

OBS Studio 是一款跨平台的,开源的视频录制和在线直播客户端软件。我觉得一点不好的体验就是不能刻录整个屏幕。ymengyue推荐

OBS Studio

1
2
3
sudo apt-get install ffmpeg
sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt-get update && sudo apt-get install obs-studio

其他系统安装查看


1.30、Pencil

Pencil是一款开源的原型图绘制工具,手绘风格的,就像自己在纸上画的那样。还可以用来绘制各种架构图和流程图,同时还提供 Firefox 的插件。对于经常做设计的人来说是一个不错的软件,可谓是linux下的visio。

Pencil

1
2
wget -c http://pencil.evolus.vn/dl/V3.0.1/Pencil_3.0.1_i386.deb
sudo dpkg -i Pencil_3.0.1_i386.deb

1.31、Remmina

Remmina是一个用远程桌面软件,提供了RDP、VNC、XDMCP、SSH等远程连接协议的支持。这个客户端最大的优点在于界面清爽,方便易用,创建远程连接的界面与Windows自带的远程桌面十分相近。可以到Linux软件管理器中搜索下载安装,十分方便.

Remmina

1
sudo apt-get install remmina

1.32、Meld

Meld是针对开发者的视觉差异和合并工具。MELD帮助您比较文件、目录和版本控制的项目。它提供了两个和三个比较的文件和目录,并支持许多流行的版本控制系统。既可以查看差异有可以同步!

Meld

1
sudo apt-get install meld

二、系统工具篇


2.1、deepin-scrot

deepin-scrot是深度团队开发的一个截图工具。在deepin深度系统作为默认的截图软件,在debian系统安装需要在终端命令使用,为了方便推荐定义快捷键配合使用。强烈推荐!

1
2
3
4
5
6
#安装
wget http://packages.linuxdeepin.com/deepin/pool/main/d/deepin-scrot/deepin-scrot_2.0-0deepin_all.deb
sudo dpkg -i deepin-scrot_2.0-0deepin_all.deb
sudo apt-get install -f
#使用
deepin-scrot

2.2、Albert Spotlight

Albert Spotlight是 Ubuntu的一项快速、随打即找、系统支援的桌面搜寻特色。spotlight 被设计为可以找到任何位于电脑中广泛的项目,包含文件、图片、音乐、应用程式、系统喜好设定控制台,也可以是文件或是PDF中指定的字。优雅地取代了Mac中的mac Spotlight。

Albert Spotlight*

1
2
3
sudo add-apt-repository ppa:noobslab/macbuntu
sudo apt-get update
sudo apt-get install albert

2.3、Guake Terminal

Guake是一个下拉式的gnome桌面环境下的终端程序,因此你只需要按一个键就可以调用他,然后再按一次以便隐藏他。Guake支持快捷键、标签、背景透明等特性。一句话:GuakeTerminal是linux下完美帅气的终端!

Guake Terminal


1
2
3
sudo add-apt-repository ppa:webupd8team/unstable
sudo apt-get update
sudo apt-get install guake
2.4、bleachbit

bleachbit是系统ubuntu系统减肥的一门”中药”,用于清理系统没用的垃圾文件。

bleachbit

1
2
3
sudo add-apt-repository ppa:n-muench/programs-ppa
sudo apt-get update
sudo apt-get install bleachbit -y

2.5、psensor

psensor是监控系统硬件实时状况的一款软件,使用psensor可视化显示系统温度,需要基于lm-sensors和hddtemp等获得的数据。因此你需要在安装psensor的同时,一并安装这两款工具。

psensor

1
2
3
sudo add-apt-repository ppa:jfi/ppa
sudo apt-get update
sudo apt-get install lm-sensors hddtemp psensor -y

2.6、Indicator Netspeed

Indicator Netspeed是一款基于Unity的用于显示软件上传和下载网络流量的软件。

Indicator Netspeed

1
2
3
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install indicator-netspeed

2.7、gnome-system-monitor

gnome-system-monito是一款基于GNOME桌面的系统监视器软件。不过使用它有点占内存,我还是习惯终端处理。

gnome-system-monitor

1
sudo apt-get install gnome-system-monitor

2.8、catfish

catfish简称文件搜索神器。

catfish

1
sudo apt-get instal catfish

2.9、docky

dockey是一款一个号称花钱也买不到的菜单启动器。为什么这麽说的?很简单:它是开源的,很简洁更美观。就连Mac下的docky都是模仿它的,O(∩_∩)O哈哈~,不要傻了,开玩笑的。

docky

1
sudo apt-get install docky

2.10、TLP

TLP 是一款Linux流行的电源工具软件。你可以使用TLP来调整系统电池,有助于有更好延长电池寿命。

TLP

1
2
3
4
sudo add-apt-repository ppa:linrunner/tlp
sudo apt-get update
sudo apt-get install tlp tlp-rdw
sudo tlp start

2.11、menulibre

menulibre是一个简洁易用的菜单编辑器。

menulibre

1
2
3
sudo add-apt-repository ppa:menulibre-dev/devel
sudo apt-get update
sudo apt-get install menulibre

2.12、indicator-sysmonitor

indicator-sysmonitor是一个系统动态信息监控工具。可以实时查看电脑的cpu,内存占用率,更可以查看网速,非常方便

indicator-sysmonitor

1
2
3
sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor 
sudo apt-get update
sudo apt-get install indicator-sysmonitor

三、开发工具篇


3.1、Jetbrains 全家桶

Jetbrains_IDEA 全家桶基基于java语言开的一个工具套餐,而且基本覆盖了主流的开发编程语言,还包含了开发ios/macOS的工具。Jetbrains_IDEA包含了哪些工具呢,看图、手累截图!

Jetbrains 全家桶


3.2、Brackets

Brackets是一款使用 HTML,CSS,JavaScript 创建的开源的针对 Web 开发的编辑器。它具有什么优秀的特性的呢:实时预览,快速编辑,跨平台,可扩展,开源,Brackets是一款非常优秀的编辑器,但是我就是不用它O(∩_∩)O哈哈~。

Brackets

1
2
3
4
5
#天朝问题,漫长的等待,推荐下载安装
sudo add-apt-repository ppa:webupd8team/brackets
sudo apt-get update
sudo apt-get install brackets
sudo add-apt-repository -r ppa:webupd8team/brackets

3.3、Android Studio

Android Studio是啥我也就不说了,怕挨揍(^o^)/~用来开发安卓的~~~

Android Studio

顺手推荐几个网站
镜像源androiddevtools
开源库codekk


3.4、Sublime Text

Sublime Text是一个轻量、简洁、高效、跨平台的编辑器。不能再多解释了,只能简单说说它的优点:

  • 可以编辑诸多主流的编程语言
  • 语法高亮、代码提示补全、代码折叠、自定义皮肤/配色方案、多便签
  • 代码地图、多种界面布局与全屏免打扰模式
  • 完全开放的用户自定义配置与神奇实用的编辑状态恢复功能
  • 雷电般快速的文件切换
  • 随心所欲的跳转:快速罗列与定位函数/HTML的元素、跳转到指定行
  • 集所有功能于一身的命令面板
  • Package Contro扩展包管理器

Sublime Text


3.5、Atom

Atom是GitHub推出的一款基于Web技术开发的桌面端的编辑器,其主要的特点是现代, 易用, 可定制。被称为21世纪的黑客编辑器我就笑笑O(∩_∩)O哈哈~

Atom

1
2
3
sudo add-apt-repository ppa:webupd8team/atom  
sudo apt-get update
sudo apt-get install atom

3.6、sqliteman

sqliteman是一款小巧的图形化管理SQLite数据库的软件。轻量级、小巧、功能全面。为它点个赞,推荐!

sqliteman

1
sudo apt-get install sqliteman

3.7、Git、GitG

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。简而言之就是代码管理工具,常用Git命令记录。既然提到了Git,那么也要说说它的朋友SVN,同样它俩的性质是一样的不必多说,SVN的安装与基本使用

1
sudo apt-get install git

gitg是一个用于查看Git版本控制系统的工具,基于Gnome桌面环境。我还是习惯在终端干这些活。

Git

1
sudo apt-get install gitg

3.8、MySQL workbench

MySQL workbench是一款专为MySQL设计的ER/数据库建模工具,但是在ElementaryOS还是存在不少的问题的。

MySQL workbench

1
2
#在官网下载对应版本的deb后执行
sudo dpkg -i *.deb && sudo apt-get install -fy

3.9、monodevelop

MonoDevelop 是个适用于Linux、Mac和Windows的开放源代码集成开发环境,目前支持的语言有Python、Vala、C#、Java、BOO、Nemerle、Visual Basic .NET、CIL、C与C++。

monodevelop

1
sudo apt-get install monodevelop  g++ xterm -y

3.9、Genymotion

Genymotion是一套完整的工具,它提供了Android虚拟环境,支持Windows、Linux和Mac OS等操作系统,容易安装和使用。开发安卓选择Genymotion模拟器是最佳的选择,除非你使用真机,其实后来我就是选择真机的——笑:-D。

Genymotion

1
2
#在官网下载对应版本的deb后执行 ,需要注册后才能下载
sudo dpkg -i *.deb && sudo apt-get install -fy

3.10、Android Screen Monitor

Android Screen Monitor简称ASM,是一款监视手机或者模拟器屏幕的工具。

Android Screen Monitor


时光机传送安装与使用教程


四、Terminal Tools


4.1、enca、iconv

enca、iconv都是文件编码转换工具。

1
2
#安装
sudo apt-get enca iconv

简单使用

1
2
3
4
#enca查看文件编码
enca filename
#iconv将一个GBK编码的文件转换成UTF-8编码
enconv -L zh_CN -x UTF-8 filename

4.2、Figlet

一句话:Figlet是一个将字符串在终端生成一个logo的终端工具。

Figlet

1
sudo apt-get install figlet

4.3、oh-my-zsh

oh-my-zsh是终极Shell,就这么一句话!

oh-my-zsh

1
2
sudo apt-get install git -y
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

zsh的配置文件位于用户目录/home/$USER/.zshrc,**zsh主题**,我的配置文件部分如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# oh-my-zsh的安装路径
export ZSH=/home/alic/.oh-my-zsh

# 主题设置
ZSH_THEME="robbyrussell"

# 大小写是否敏感
CASE_SENSITIVE="false"

# 连字符敏感
HYPHEN_INSENSITIVE="true"

# zsh是否自动不更新
DISABLE_AUTO_UPDATE="true"

plugins=(git)

source $ZSH/oh-my-zsh.sh

# 语言环境
export LANG=en_US.UTF-8

4.4、Asciinema

Asciinema 是一个用 ClojureScript 编写的开源命令行录屏工具。对于详细的终端刻录工具可以查看Linux 终端录制工具

1
2
3
sudo apt-add-repository ppa:zanchey/asciinema
sudo apt-get update
sudo apt-get install asciinema
  • 录制使用
    1
    asciinema rec
    使用 exit 或者 Ctrl+D快捷键结束录制。它会在结束录制的时候提示,如果要上传的话,敲回车。上传之后,Asciinema 会给出一个网址。
    1
    2
    #想嵌入网页
    <script type="text/javascript" src="https://asciinema.org/a/2xcuc0651qtirbj8dkmmtf2nf.js" id="asciicast-https://asciinema.org/a/2xcuc0651qtirbj8dkmmtf2nf" async></script>

4.5、Aria2

aria2是 Linux 下一个命令行下轻量级、多协议、多来源的高速下载工具。

1
sudo apt-get install aria2

使用说明

1
2
3
4
#简单使用:只需要加上下载链接即可
aria2c ${link}
#分段下载
aria2c -s 2 ${link}

Aria2 在百度云环境可以不限速下载,传送Aria2 - 可能是现在下载百度云资料速度最快的方式


4.6、Proxychains4

Proxychains4是一个终端挂代理的工具,可自由切换代理。使用简单只需要在命令前加上proxychains4即可!

1
2
3
4
5
git clone https://github.com/rofl0r/proxychains-ng.git
cd proxychains-ng
sudo ./configure –prefix=/usr –sysconfdir=/etc
sudo make && sudo make install && sudo make install-config
cd .. && rm -rf proxychains-ng

配置文件位于/usr/local/etc/proxychains.conf
将socks4 127.0.0.1 9095改为 socks5 127.0.0.1 ${port} {$user} ${pwd}


4.7、Ubuntu Make

Ubuntu Make 原名 Ubuntu Developer Tools Center,是一款开源的命令行工具软件,主要是针对开发者,它可以安装大量的开发工具。

1
2
3
sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
sudo apt-get update
sudo apt-get install ubuntu-make

比如安装Webstorm

1
sudo umake ide webstorm

4.8、sshfs

SSHFS最炫的地方在于可在本地安装的文件系统中,通过SSH获得所有加密的通信优势。sshfs 是基于 FUSE构建的 SSH 文件系统客户端程序,通过它远程主机的配置无需作任何改变,就可以透过 SSH 协议来挂载远程文件系统了,非常方便及安全。

1
sudo apt-get install sshfs

4.8、字体

喜欢锐利清晰字体的 Ubuntu 用户,可以安装文泉驿正黑

1
sudo apt-get install fonts-wqy-zenhei
4.8、mysql_markdown

自己编写的小公举

It can generate markdown structure documents of MySQL succinctly~

1
curl -fsSL "https://raw.githubusercontent.com/alicfeng/mysql_markdown/master/install" | sudo sh
l

自己拥有一台服务器可以做哪些很酷的事情?

方案一

用一台不用的电脑搭的,24GiB内存+6核12线程的CPU

现有的服务大概有这些:

Zerotier

内网穿透用的是 zerotier,因为服务器有ipv6,在大多数情况下都可以直连,基本上可以跑到满速。而且zerotier会对数据进行一次加密,所以也基本不用担心数据安全性问题了。

Nextcloud

目前用的最多的服务就是 Nextcloud,Nextcloud加上一堆的插件基本上可以满足大部分需求。

后端使用的数据库是 Postgresql

现在我在使用的插件有:

Cospend 插件

一个用于记录账单的插件,可以支持多个人共享账单以及计算最终结算方案

Draw.io 插件

一个强大的绘图插件

Maps 插件

地图插件,可以根据图片中的元数据把图片标注在对应的位置,这样就可以看到出去旅行的足迹了

News 插件

一个RSS插件

Talk 插件

一个聊天的插件,还支持视频聊天

Calendar 插件

日历插件,可以用来同步多台设备上的日程安排

Contacts 插件

联系人插件,可以用来同步多台设备上的联系人

Calendar 和 Contacts 这两个插件我主要是用来配合 davx5 来同步多个手机和平板以及电脑之间的日程安排和联系人

Nextcloud 还有 WebDav 可以配合 joplin 这个笔记软件进行多设备间的笔记同步

Overleaf

这个主要写论文的时候用,自己搭的比官方提供的免费版本快太多了,而且还没有时长限制。

需要预先安装dockerdocker-compose

安装

1
2
3
git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit
cd ./overleaf-toolkit
bin/init

初始配置

修改connfig/下的文件

中文支持

config/variables.env中添加:

1
SHARELATEX_SITE_LANGUAGE=zh-CN

xeLatex支持

新建文件config/docker-compose.override.yml,添加:

1
2
3
4
services:
sharelatex:
environment:
- PATH=/usr/local/texlive/2023/bin/x86_64-linux:$PATH

2023请改成对应路径

启动

1
bin/up

如果要后台运行,可以加-d参数

创建管理员账号

打开: http://hostip:port/launchpad

安装完整宏包支持

1
2
3
4
5
6
7
8
bin/shell
cd /usr/local/texlive
wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet
tlmgr update --self --all
tlmgr install scheme-full
exit
docker restart sharelatex

安装字体

1
2
3
bin/shell
apt update
apt install --no-install-recommends ttf-mscorefonts-installe fonts-noto texlive-fonts-recommended tex-gyre fonts-wqy-microhei fonts-wqy-zenhei fonts-noto-cjk fonts-noto-cjk-extra fonts-noto-color-emoji fonts-noto-extra fonts-noto-ui-core fonts-noto-ui-extra fonts-noto-unhinted fonts-texgyre

Minted包支持

安装pygments

1
2
3
bin/shell
apt update
apt install python3-pygments

配置Shell Escape

2023请改成对应路径

修改/usr/local/texlive/2023/texmf.cnf,在最底下添加一行

1
shell_escape = t

ChatGPT-Next-Web

这个是ChatGPT的一个私人网页应用,需要去购买一个ChatGPT的API就可以使用,具体可以参见官方说明文档:https://github.com/Yidadaa/ChatGPT-Next-Web/blob/main/README_CN.md

Netdata

这是一个很好的服务器监控平台,可以监控服务器的各项参数,出现异常情况可以及时发邮件提醒,这样就不用担心RAIDZ1坏掉一块盘没有及时发现导致第二块盘坏掉的情况了。

Samba

虽然Nextcloud有webdav的接口,但仍然有一些地方只支持smb协议,所以文件也用smb协议共享了一份。

NFS

这个主要是给电脑使用的,因为smb和webdav不支持权限,这就会导致服务器上的可执行文件无法执行(因为没有执行权限),并且且zerotier会对数据进行一次加密,而smb和webdav(https)也会再次加密,在传输大量数据的时候效率不够高,所以文件也用nfs共享了一份。

打印和扫描

打印用的是cups,扫描用的是sane,这样就可以远程使用打印机和扫描仪了(虽然还是要个人去放纸)

数据存储

系统盘是一块160GB的机械硬盘,除去快照,实际使用大概3GiB左右(因为上面只是系统和软件包,不包括docker容器和php文件)

数据存储用的是4块500GB的二手机械组的RAIDZ1,1块120GB的SSD做L2Cache,开zstd和去重

数据存储每天做一次快照,保留1星期。系统盘每星期进行一次快照,并且发送到数据存储中

每次寒暑假会把所有数据备份到磁带,然后带到学校去,算是异地备份:)

关于耗电量

为了省电,我硬盘全部使用的是2.5英寸的磁盘,cpu也只安装了一个(双路主板),目前整机的待机的耗电量大概60W左右,还可以接受。

性能调优

Nextcloud 等 Web 应用都启用了 http2 ,启用之后可以明显感觉到加载速度的提升

ZFS 的 zfs_arc_max 设置的是 20GiB,zfs_arc_sys_free 设置的为 2GiB

Nextcloud、Overleaf、ChatGPT-Next-Web 和 Netdata 都有docker镜像,可以很方便的部署。

方案二

UPDATE 2023.08.03 帖子超过 7700 收藏 及超过 2400 点赞!再追加五篇新内容:最新的 SDXL 模型使用及硬核拆解其中关键组件、最新的 MetaAI LLaMA2 大模型(官方版、中文版、量化版、CPU版)的使用,Traefik 3.0 全面使用指南、使用 Docker 和 Golang 执行 Python 代码,以及将 Python 程序通过 Docker 和 Golang 包装成高性能异构计算服务。

上次更新:AI 加持的代码编写实战、让 OpenAI 更 Open,ChatGPT 自由接入数据源、在 Golang 里运行 Python 代码、基于 Docker 的深度学习开发环境、使用更低成本运行来 Meta(Facebook)的语言大模型、使用 Lora 微调 650 亿参数的大模型、使用 1.5G 显存运行 14B 参数的大模型、以及八十行代码搞定一个 MidJourney、Stable Diffusion Prompt 智能的咒语工具。

前次更新:使用 Nginx 和 Docker 折腾运行在浏览器里的 Web 终端、运行来自 Meta(Facebook)的语言大模型、快速获取完整的 GitHub 数据集,用于数据分析、一篇继续聊聊把玩 Stable Diffusion 模型,两篇聊聊低成本、高性能的数据传输方案、一篇聊聊如何搭建一台新的存储服务器、一篇聊聊如何使用老款 Mac Pro 作为廉价家庭工作站。(欢迎继续三连,给予鼓励,督促内容继续更新

以往更新内容涉及内容:

  • 如何从零到一搭建 Linux 环境

    • 简单清晰的 Ubuntu 桌面和服务器环境安装部署
    • 3MB 大小的能够加速 Linux 软件包下载的工具
    • 如何在一台笔记本中完成完整的 K8s 集群搭建
  • 如何从零到一搭建家用虚拟化环境

    • 基础 Linux 环境、存储、网络、监控、集群相关内容
    • 常见的 NAS 系统的折腾:群晖、Unraid 等
    • 你可以完全自己搞定的 ESXi 虚拟化镜像构建和系统安装
  • 如何从零到一搭建一些实用的程序、工具

    • 比如:简单的自制证书生成方法,只有 3MB 的证书生成工具的使用,搭配 DNS 工具可以让你在家里在自己的设备上用上自己喜欢的任何域名
  • Docker 和 AI 应用

    • 如何使用 Docker 和 Nginx 调用 Embed PHP 实现轻量、高性能的应用
    • 如何零成本使用 Docker 快速把 HuggingFace 上已有模型封装成简单的 AI 应用
    • 做一个NLP内容情感分析应用
    • 实现类似“百度谷歌这类基于语义搜索的功能,而不只是呆呆的进行文本匹配”的搜索引擎
    • 如何用 Docker 玩中文 Stable Diffusion 模型
    • 低成本(经济、时间)上手 AI 模型和应用
  • 以及,如果你想偷懒上手 Linux、Golang 等等,也可以围观文章末尾的追更内容

这套题太简单了,拥有一台服务器能干的事情太多了,如果你手头有闲置的服务,或者有计划入手一台折腾,可以跟我一起来玩。(往下看)

作为一个资深折腾党,先列举一些近几年我自己用的服务器,觉得比较实用的功能,然后再聊聊折腾过程中的血泪史:

  • 搭建自己的个人网站:我用最低规格的云主机,搭建了一个自己的小网站,每周写一两篇不标题党、不消费情绪的技术内容,去年统计下来,大概有100来万独立 IP 访问。
  • 搭建自己的知识采集、阅读工具:不用再担心404,也不用再担心平台老给你推荐你不喜欢的东西、或者遗漏你关注的大神更新了什么值得跟着学和做的事情。
  • 搭建你自己的笔记系统:想写什么写什么,想存什么存什么。没有每个月限制多少条、多少G流量的限制,没有内容限制,没有字数长度限制,想要什么功能,自己简单定制个功能就完事。
  • 搭建你自己的回家隧道:高规格的云端服务器有些肉疼,家里有低成本的硬件可以用,那么跑个隧道回家把闲置资源用起来。
  • 搭建你自己的代码仓库:有一些写着玩,或者还没想好要公开的内容,就先放在自己的小机器上吧
  • 搭建你自己的私密网盘:除了用消费级 NAS 产品省事外,有的时候,需要临时的传一些需要分享的内容,又想避免知名网盘被严重的问题,可以用服务器+对象存储+CDN来化解这个尴尬的状况。
  • 搭建自己的定时任务系统:你可以用它来做任何事情,比如定时检查下你追的剧是否更新了,定时检查一下火车票是不是开售了,或者你心心念念的演出是不是要开始了,或者和多数网友的选择一样,定时签到领个金币 :D。
  • 搭建自己的持续集成服务:如果你从事开发,GitHub Actions也好、Docker AutoBuild也罢都是有限额的,你可以自己搭一套简单的 CI,既能满足私密性要求,还能化解高频构建过程中带来的额度不足的尴尬。
  • 搭建一套网页 IDE、网页 Terminal:偶尔用 iPad 之类的便携设备 Coding 也不是不行,如果你有准备 Web IDE 或者 Web Terminal 的话,关键时候,用手机应急都还是蛮方便的。

接下来,我慢慢聊聊这个服务器的使用体验,以及上面我列举的东西到底有啥价值。

个人网站 / 技术博客

知乎读者喜欢数据,那么我们就先来看一下之前的数据:

img

《2020年岁末总结》时的网站数据

上面的数据来自 2020 岁末总结,2021 很快要过去了,不知道今年的数据如何?

网站现在的运行状态,如果套用 知乎周年庆 的文体风格来描述的话:

截止最近一篇文章《装在笔记本里的私有云环境:监控篇》发布,网站已经运行了五千二百零六天了,比《西游记》里唐僧师徒取经一个来回还要久。在过去十四余年中,网站一共积累了一千一百六十一篇文章内容,包含一百零二万字词(三百一十六万余字符),打印出来差不多相当于一套中文《水浒传》的厚度。其中汉字内容有七十八万,大概有《西游记》狮驼洞中小妖总数的十倍。
在今年新增了四十九万字,包含十万多汉字,文章中代码纯度约占78%。为了直观的了解网站内容状况,我将这些数据进行了一些可视化呈现。

img

十年的关键词绘制的词云,还是蛮震撼的

说起来,这个网站的建立时间比较久,2012年,我刚刚开始在新浪工作的时候,想使用一个新的、短一些的域名来继续记录生活和技术相关的事情,就用注册了 soulteary.com 这个和网络昵称一致的域名,并顺手将高中时积累的一部分内容也迁移了过来。

当时对于网络上大量重复的、没有深度、不够具体、疯狂洗稿的技术文章产生了厌烦情绪。也对之前自己写博客使用过的“转载”这种“转了仿佛就是会了”的动作产生了鄙视。

于是,那个时候,我开始坚持原创,避免发布网络上的重复内容。起初记录的都是一些编程细节、或者一些自己写的小工具,随着工作中接触了越来越多的基础设施、工程效率相关的内容,以及需要自己组建和带团队之后,网站的内容便开始进行了转变,从尽可能浅显的方式去讲述如何去搭建一些技术设施、搭配案例去解决具体问题的一些思路和方案、以及一直以来兴趣相关的:软件、硬件、游戏、感悟。

建立网站的初衷,是用来记录个人点点滴滴的成长历程、学习过程中的收获,并希望在分享的过程中能够帮助到和自己有相同经历或诉求的人,不论我们年龄相差多少,不论我们是否在同一时空。在写文章的这些年里,不论是邮件、私信,亦或者群聊中,也确实结识和帮助到了不少读者,想来还是比较欣慰的。(有趣的是,还因为文章的关系,组建了一个小群体,每天在群里叮叮咣咣的折腾些,乐趣不足为外人道也的事儿)

知识采集 / 阅读器

img

《使用 Docker 和 Traefik v2 搭建 RSS 服务(Miniflux)》配图

我曾经折腾过一阵 RSSHub,并把一部分内容向官方仓库提了 PR。结合一些其他的无状态脚本(用现在流行的话讲,无状态 serverless 服务),可以快速的把你关注的网页、接口转变为可读性比较棒的格式。

虽然我们认知中的“无头浏览器”非常占资源,但是实际上,你随便一台轻量云或者 1c1g1m 的主机也是足够你折腾成一个定制的知识采集仓库来使用的(务必开 swap)。

笔记系统

我曾经也是忠实的 EverNote、Confluence 用户,也维护过 WordPress 定制版,魔改过 Ghost 这类优秀的可以用做笔记用途的开源 CMS / BLOG 程序。

直到,我遇到了 Outline。

img

《从零开始使用开源文档/Wiki软件 Outline(一)》配图

上面的图片是我刚开始使用时的界面,随着几个月的深入使用,我觉得我应该短期或长期不会再进行笔记系统切换了。这套系统在好用、够用的前提下也是足够轻量,上文提到的小主机,甚至足够你跑好几套,分享给你的好基友。(软件本身也支持多用户)

如果你想了解怎么搭建,可以移步:

从零开始使用开源文档/Wiki软件 Outline(一)soulteary.com/2021/09/05/opensource-documentation-wiki-software-outline-part-1.html

方案三

儿子出生几天后,在阿里云买了个服务器,搭了个网站,用来上传并展示儿子每天的照片,访问当然是需要密码的,域名就是儿子的名字。。。。。。嗯。。。期待他长大后无意间搜索自己名字网站的瞬间,看到自己从小到大的样子,能让他感受到老爸我对他的爱。。。

l