前言

PC ≠ Windows

PC操作系统中Linux算是小众的一派,Arch Linux 则小众中的小众。
桌面Linux我折腾过deepin,ubuntu,debian,centos最后无一例外都以为各种操蛋的生态原因放弃了,装机半生归来依旧是Windows。

这一次折腾的是Arch Linux
这里简单叙述一下我在使用的几款Linux软件,相关链接放在文章尾部

Snipaste 截图软件

Snipaste是Windows下一款非常优秀的截图贴图工具,自从我发现他的那天起就对他爱不释手,我对他的依赖到什么程度呢?我曾经的想法就是Snipaste出Linux版本后我就能彻底摆脱Windows,然而啊~~~Snipaste的Linux版本一直等不出来。

这次在Arch 上替代Snipaste的软件flameshot,这款软件也可以实现基本的贴图截图等等功能

截图贴图工具:https://github.com/lupoDharkael/flameshot

文件同步

Onedrive 是Windows全家桶中的一个,我也就用这个一个,我平时工作学习记笔记都是用 OneDrive+ Typora配合使用,得力于OneDrive 我可以在各端无缝的查看笔记。

在Arch上我是用国产的一款同步工具 坚果云代替了OneDrive,在使用坚果云之前我是尝试在Linux曲线救一下Onedrive的GitHub上有开源的第三方无GUI的OneDrive,start有好几千,但是经过我实际测试这个是有问题的,我使用typroa编辑文档会时不时的ctrl + s一下,这时这个第三方的同步偶尔就会出现源文件内容消失出现一个 源文件+主机名+后辍的一个文件,很不稳定。以及一些其他我尝试过的第三方工具这里就不提了,反正最后都是没能达到我满意的效果。

简单提一下 坚果云,他的免费版是限制流量的,每月下载3G,上传1G,我同步的全都是纯文本的笔记(图片我放在对象存储上面),但是这个流量还是很作紧,他的价格也不便宜30一个月,年付199,这个后面再看吧。

onedrive: https://github.com/skilion/onedrive
坚果云 https://www.jianguoyun.com/

IP查询工具

作为一个运维从业者工作中会接触大量的IP,需要能够快速的知道这个IP的大致信息,比如 IP的物理位置,IP的所属厂商,我在Windows上是使用的IPIP的BestTrace工具,复制一个标准IP后就会用windows的通知功能弹出IP的基本信息。

Arch下我是没找到合适的工具的,但是这个可以有!这个工具实现的原理就大致4个步骤,监听剪切板-->把剪切板中的IP识别出来--> 调用IP库查询信息-->以通知的形式弹出,这个功能上非常简单,Linux下监听剪切板和弹出系统通知就都有现成的名,所以我要做的就是整合一下一下就行了~所有我就自己用Python写了一个。

Select IP code

#!/usr/bin/env python3
# Author: Jerry
# jio本依赖于request模块,xclip和notify-send命令
import  subprocess
import  re
import time
import json

import  requests
logo='/opt/select_ip/logo.png'

data = None
content = None
num = 0
# Api_url = 'http: // ip.taobao.com / service / getIpInfo.php?ip ='
api_url = 'http://ip-api.com/json/'
while 1:
    time.sleep(0.5)
    result = subprocess.Popen('xclip -o',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    stdout = result.stdout.read().decode('utf-8')
    if stdout == content:continue
    content = stdout
    ipre = re.compile('(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)')
    if  ipre.search(stdout):
        ipiter = ipre.findall(stdout)
        if len(ipiter) > 4:
            cmd = 'notify-send -a IP查询  -i /opt/select_ip/logo.png  "IP查询提示" "您的剪切板有%s个IP 数量过多"' %(str(len(ipiter)))
            subprocess.Popen(cmd, shell=True)
            continue
        for i in ipiter:
            ip  = ''
            for x in i:
                ip += x + '.'
            ip = ip.strip('.')
            if ip == data:
                continue
            url = api_url + ip #+ '?lang=zh-CN'
            try:
                result_ip =  requests.get(url)
            except:
                cmd = 'notify-send -a 异常错误 -i /opt/select_ip/logo.png  "接口请求失败,请检查网络\n 正在重试....."'
                subprocess.Popen(cmd, shell=True)
                time.sleep(10)
                continue

            time.sleep(0.5)
            ip_json = json.loads(result_ip.text)
            if ip_json['status'] == 'fail':
                cmd = 'notify-send -a IP查询  -i /opt/select_ip/logo.png  "局域网地址: %s "' %(ip_json['query'])
            elif ip_json['status'] == 'success':
               # print("公网地址: %s IP归属地: %s IP运营商: %s" %(ip_json['query'], ip_json['country'] + '_' +  ip_json['regionName'], ip_json['org']))
                cmd = 'notify-send -a IP查询  -i /opt/select_ip/logo.png  "公网地址: %s " " IP归属地: %s \nIP运营商: %s"' %(ip_json['query'], ip_json['country'] + ip_json['regionName'] + '__' + ip_json['city'], ip_json['org'])
            else:
                continue
            subprocess.Popen(cmd, shell=True)
            data = ip

后续

这一次折腾的Arch我还是比较满意的最起码我需要的生产力工具都齐全了,加上命令行,现在上班对着电脑心情都好多了。

巨头们的产品你很少能看见 Linux版本的,比如国内TX的微信,QQ,ALI的钉钉,海外微软家的全家桶,倒是部分中小厂商,对Linux兼容的很不错,比如金山的WPS,搜狗输入法,这里点名表扬一下WPS,以及这一次使用到的坚果云对Linux的支持也非常不错,这方面肯定不是技术问题,巨头们都是能手写操作般的存在,他们没有的原因或许只是因为商业原因不想罢了。

1024那天TX偷偷放出了Linux for qq,说实话我这个时代的人都没有用过这样界面的软件,也就能发收个信息了,比较失望。但我还是很期待TX能够把Linux for qq继续跟进,继续把自己家的产品for Linux。希望他不是纯粹1024卖个情怀。更何况LInux 用户也要冲黄钻

相关链接
Arch 安装教程 https://wiki.archlinux.org/index.php/Installation_guide
中文配置 https://dwz.cn/f2hhfQTB
安装桌面 https://wiki.archlinux.org/index.php/KDE#Installation
搜狗输入法 https://www.cnblogs.com/tonyc/p/8231667.html

Last modification:January 17th, 2020 at 02:19 pm