Material Theme UI 更新5.0+后图标包不再有效?

JetBrains全家桶(IntelliJ IDEA、CLion等)开始升级2020.1了,如果你正在使用Material Theme UI插件的话,更新5.0.0+后会发现图标包风格还是原生的样子。并且刚更新后会有小弹窗:

如果去插件介绍页可以看到更新历史中写了:

据此,图标包迁移到了Atom Material Icons – Plugins | JetBrains。可以直接在IDE的插件页中搜索并安装。

Docker 容器内连接宿主机localhost

昨天有点特殊需求,需要整一个frp(frpc)的容器。这个东西肯定要去连公网的frps,接受外来的请求后转发给内网。然后发现要转发到内网还好,但是要转发到宿主机的localhost时候就有点问题了,翻了一下文档和问答,大概是这样的:

对于Linux上的Docker,可以直接在docker run时指定:

--network="host"

或者在docker-compose.yml中:

network_mode: "host"

这种方式挺适合现在这个应用场景的。

如果是默认的网桥模式,那么可以在容器中访问宿主机对应docker网桥的IP地址。对于Windows或是Mac的Docker(版本18.03之后,据引用中的链接),可以直接连接主机名host.docker.internal

引用:
nginx – From inside of a Docker container, how do I connect to the localhost of the machine? – Stack Overflow
Use host networking | Docker Documentation
Compose file version 3 reference | Docker Documentation
Networking in Compose | Docker Documentation

CentOS 安装screenFetch

今天想给虚拟机装个screenFetch,以前在openSUSE和Ubuntu上安装都是直接包管理安装,习惯性地直接yum install screenfetch一下竟然发现没有:

No package screenfetch available.

好吧只好去翻一下文档:Installation · KittyKatt/screenFetch Wiki · GitHub

所以先下载:

wget -O screenfetch-dev https://git.io/vaHfR

然后丢到/usr/bin或类似的目录,如果在PATH就比较方便:

sudo mv ./screenfetch-dev /usr/bin/screenfetch

记得加上可执行权限:

sudo chmod +x /usr/bin/screenfetch

此时应该可以使用了:

screenfetch
screenfetch

好了出现了新的问题,没有lspci,那么:

yum whatprovides lspci
pciutils
sudo yum install pciutils

宽度比较蛋疼,我还是ssh上去截个图吧:

screenfetch

Windows 10下使用Windows+Shift+S截图

好消息,好消息!如果你正在使用较新的Windows 10,那么截图只要:Windows徽标键+Shift+S即可触发截图和草图应用来抓取矩形截图、任意形状截图、窗口截图或是全屏幕截图Windows徽标键+PrtSc即可触发截图和草图应用直接抓取全屏幕截图不用再为了截图打开微信或QQ啦。

截图和草图应用

如果你觉得这个快捷键比较难按,你可以在设置->轻松使用->键盘中修改:

修改热键为PrtScn

什么?你说我火星了?好像不是我,是我的朋友们…(无中生友ing)

好,来说说这个功能。根据此文章Why doesn’t the screen clipping tool work anymore? – OneNote所述,该热键本是OneNote用户用于截图的,自Windows 10创意者更新(也就是1703)后,由截图与草图应用接管。相关文章还包括:What’s New in Windows 10’s Creators UpdateHow to take and annotate screenshots on Windows 10

还要注意的是,根据Snip & Sketch…. : Windows10 – Reddit。截取屏幕后,你通常直接从剪贴板中取得图片,但是在:%LOCALAPPDATA%\Packages\Microsoft.Windows.ShellExperienceHost_cw5n1h2txyewy\TempState\ScreenClip路径下仍然保存有图片的副本(也就是C:\Users\%USERNAME%\AppData\Local\Packages\Microsoft.Windows.ShellExperienceHost_cw5n1h2txyewy\TempState\ScreenClip)。可能有隐私泄露风险,请务必注意。

普通用户不需要sudo使用Docker

大多数情况下,普通用户使用Docker都需要使用sudo进行提权,否则可能要切换到root用户才可直接使用。其实只需要将当前用户加入docker用户组即可。

The docker group grants privileges equivalent to the root user. For details on how this impacts security in your system, see Docker Daemon Attack Surface.

Warning from Post-installation steps for Linux | Docker Documentation

确实有风险,可能导致利用Docker提权之类的问题。搞事之前一定要明白自己在做什么。

正常情况下应该已经存在docker用户组了,如果没有则需要:

sudo groupadd docker

来添加一个名为docker的用户组。

然后就可以将当前用户加入docker用户组:

sudo usermod -aG docker $USER

或者:

sudo gpasswd -a $USER docker

注销后重新登录即可生效。按文档,对于有图形界面的Linux,应该注销再登录即可,否则应该完全重启。如果不方便注销,可以尝试:

newgrp docker

此时应该可以不需要sudo来使用Docker了。

发现版本19.03起有一个实验性特性,以非root用户运行Docker守护进程:

dockerd-rootless.sh --experimental

引用:
Post-installation steps for Linux | Docker Documentation
How can I use docker without sudo? – Ask Ubuntu
Docker security | Docker Documentation