linux 灰度显示grayscale
之前我在使用macOS的时候,非常喜欢使用灰度显示界面。到底是什么原因让我有这么“变态”的需求。
下面听听我的故事,当时不重要,可以跳过。
是这样的,因为我是程序员,算上电脑+手机,一天但用屏幕的时候超过10小时。我的眼睛经常出现疲劳的情况。有这么一阵子,我的眼皮一直在跳,连接跳了两个多月,让我心神不宁。我知道肯定是用眼过度导致的,但是我又没有什么办法。毕竟我的工作就是这样。
退而求其次,我就想购买一款比较护眼的显示器。提到护眼,大家可能会想到墨水屏的电纸书。我找了一下,市面上很少有墨水屏的显示器。就算有,我也担心自己会适应不了,黑白屏的效果。所以我就尝试把我的显示器调整成黑白的(灰度),来模拟墨水屏的效果,起初的目的只是为了,测试我是否能适应黑白屏。
刚开始从彩色屏切换到黑白屏时,真的不习惯。后来慢慢的我就习惯了,奇妙的事情就发生了。使用了一周黑白屏后,我的眼睛舒适了,眼睛酸涩感明显减轻。眼皮连接跳动2个月的症状也消失了。
macOS/iOS启用黑白显示
比较简单,系统设置中就有。找到色彩滤镜就行了。因为写这篇文章的时候,手头没有macOS的电脑,我截图了iOS的设置。两者基本相同。
linux
我使用的是archlinux,我以它为例。
参考:
https://wiki.archlinux.org/title/Picom#Grayscale
安装picom
pacman -S picom
创建glsl文件
我的路径是/home/itkey/.soft/shader/file.glsl
内容如下:
uniform float opacity;
uniform bool invert_color;
uniform sampler2D tex;void main() {vec4 c = texture2D(tex, gl_TexCoord[0].xy);float g = 0.2126 * c.r + 0.7152 * c.g + 0.0722 * c.b; // CIELAB luma, based on human tristimulus.c = vec4(vec3(g), c.a);if (invert_color)c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a);c *= opacity;gl_FragColor = c;
}
显示灰度
picom --backend glx --glx-fshader-win "$(cat /home/itkey/.soft/shader/file.glsl)"
执行完这个代码以后显示器的所有画面就是黑白显示了。
这种方式跟macOS有一点小的区别。黑白模式如果截图,截图下来的内容也是黑白的。而macOS中只是你看到的是黑白的,截图依然是彩色的。
还有一个问题,当快速切换窗口时,会出现淡入淡出的效果。
变回彩色
当我们需要截图或者要临时调色时,如何切换到彩色呢?其实结束进程就可以了。
killall -q picom
shell脚本
能否把这能的内容合并成一个shell脚本呢?以下是我的脚本仅供参考 。
#!/usr/bin/env bashGRAYSCALE=$(cat <<-END
uniform bool invert_color;
uniform sampler2D tex;void main() {vec4 c = texture2D(tex, gl_TexCoord[0].xy);float g = 0.2126 * c.r + 0.7152 * c.g + 0.0722 * c.b; // CIELAB luma, based on human tristimulus.c = vec4(vec3(g), c.a);if (invert_color)c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a);gl_FragColor = c;
}END
)# 关闭掉之前已经存在的进程
killall -q picom
if [[ $MODE == "grayscale" ]]; then#后台运行并输入日志到/home/itkey/.soft/log/picom.lognohup picom "$@" --glx-fshader-win "$GRAYSCALE" --backend glx > /home/itkey/.soft/log/picom.log 2>&1 &
elsenohup picom "$@" > /home/itkey/.soft/log/picom.log 2>&1 &
fi
使用方法 :
启用灰度
MODE=grayscale picom.sh
禁用灰度
MODE=normal picom.sh
在i3wm中设置 快捷键开启黑白显示
#切换到黑白显示
bindsym $mod+Shift+g exec MODE=grayscale /home/itkey/.soft/bin/picom.sh
每次点击可以切换 。
参考了:https://raw.githubusercontent.com/kantord/compton-grayscale-reading-mode/master/compton.sh
参考
https://github.com/kantord/compton-grayscale-reading-mode
linux 灰度显示grayscale相关推荐
- Linux下显示前10个占用空间最大的文件或目录命令
Linux下显示前10个占用空间最大的文件或目录命令 du -s * | sort -nr | head 转载于:https://blog.51cto.com/wapcn/933177
- linux 如何显示一个文件的某几行(中间几行)
linux 如何显示一个文件的某几行(中间几行) [一]从第3000行开始,显示1000行.即显示3000~3999行 cat filename | tail -n +3000 | head -n 1 ...
- Linux echo 显示内容颜色
Linux echo 显示内容颜色 https://www.cnblogs.com/kimbo/p/6816566.html #字体颜色:30m-37m 黑.红.绿.黄.蓝.紫.青.白 str=&qu ...
- linux 支持的字体命令,Linux设置显示中文和字体
Linux设置显示中文和设置字体 设置中文 一.查看当前使用的系统语言 登陆linux系统打开操作终端之后,输入 echo $LANG可以查看当前使用的系统语言.如 echo $LANG image. ...
- 01_Linux系统系统语言查询,设置Xshell工具,中文显示,测试Xshell中文字符显示,Linux中文显示乱码设置
Xshell是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及Microsoft Windows平台的TELNETNetSarang Xshell 4 Build 0 ...
- linux系统月初月末,Linux last显示系统开机以来获是从每月初登入者的讯息命令详解...
名称:last 使用权限:所有使用者 使用方式:shell>> last [options] 说明:显示系统开机以来获是从每月初登入者的讯息 参数: -R 省略 hostname 的栏位 ...
- Linux Vim显示行号方法详解
在使用 Vim 进行编辑的过程中,经常会遇到需要同时对连续几行进行操作的情况,这时如果每行都有行号提示,就会非常方便. 在命令模式下输入":set nu"即可显示每一行的行号,如图 ...
- Linux 中显示所有正在运行的进程
[原创翻译]<在linux中显示所有正在运行的进程> 翻译:飞哥 () 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Show All Running ...
- linux中显示进程,linux中怎么显示所有进程
Linuxlinux中显示所有进程下使用PS命令结合相关参数可以查看linux当前系统下的所有进程.那么linux中怎么显示所有进程呢?接下来大家跟着学习啦小编一起来了解一下的解决方法吧. linux ...
最新文章
- 技术图文:如何实现 DataTable 与模型类 List 的相互转换?
- Hibernate的各种保存方式的区别
- MySQL--常见ALTER TABLE 操作
- MySQL数据库:事务和ACID实现原理
- 20172304 《程序设计与数据结构》第四周学习总结
- 上海oracle办公地址_筑梦之星上海共享办公基地为什么受到市场追捧?
- UVA - 540:Team Queue
- 服务器维修工单,运维工单--服务器申请工单
- 常见数学建模方法学习总结及资料汇总
- JavaScript登录界面制作
- matlab中字体修改,matlab——修改图中字体
- 【JSON】04_JSON的生成与解析
- CentOS 7 完美安装redis-5.0.5
- python搭建qt开发环境_QT开发环境搭建(Windows)
- SQL Inject
- Dev C++下载及使用
- 数据库SQL实战题目详解(全61题)---(41-61)部分
- 《GhostXP_SP2电脑公司特别版_v8.5》
- 人体工程学游戏椅行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- 计算机思维入门kodu建模观后感,Kodu Game Lab少儿编程软件 v1.5.49.0 最新版
热门文章
- centos8上安装MP-SPDZ
- 武大教授计算机学院,武汉大学计算机学院董文永教授受邀到我院进行学术交流...
- 怎样“管理”你的上司?
- 完全免费,界面友好的文件批量更名工具Bulk Rename Utility
- DFS(深度优先搜索)学习笔记(C语言版本)
- Ubuntu系统下利用anaconda创建虚拟环境
- 【计算机】联想拯救者Y7000安装win10后重启一直在转圈
- Axure RP大数据BI可视化大屏原型模板及通用组件库
- 揭秘:如何用主题公园的思路做一款VR高尔夫游戏
- 人工智能不止会批改作业,它还在改变“一刀切”的教学模式