分类 美化 下的文章

[原创]无光线传感器笔记本上自动调整亮度的设置

2020-03-03:补充和clight作者交流后得知的扩充功能的方法

2020-02-21:创建文章

本文章中的操作为原创内容,适用于Manjaro Linux和Microsoft Windows 10,其余环境未作尝试,软件从网上获得。本文如有转载,请注明出处。
——by realasking

最近一直写东西,眼睛有些受不了,但是自己的电脑都没有光线传感器,亮度得不断调整,为了解决这个问题,就在网上搜索了一下,在Manjaro和Win10上分别找到了实现办法,记录如下:

使用Manjaro Linux的联想小新潮7000笔记本实现应用摄像头测光的屏幕亮度自动调整

安装clight和clightd

yaourt -S clight-git clightd-git

clight的配置

该软件安装之后,重启计算机服务就会自动打开,但是默认调光是线性的,没有考虑到两个问题:
1.人的视觉感受不是线性的
2.光线强到一定程度发生溢出之后的所有量化值都一样了
所以需要我们重新配置
该软件配置文件位置在:

/etc/default/clight.conf

根据说明,我调整了这几项:

#调光步长
backlight_trans_step = 0.05;
#图片亮度取值为[0,1],然后分成11个刻度,每个刻度对应屏幕约化亮度
ac_backlight_regression_points = [ 0.0, 0.082, 0.133, 0.2046, 0.2758, 0.33, 0.385, 0.408, 0.52, 0.69, 1.0 ];
batt_backlight_regression_points = [ 0.0, 0.08, 0.128, 0.19, 0.25, 0.297, 0.338, 0.35, 0.44, 0.57, 0.80 ];
#用5帧的结果调光
captures = 5;
#北京的经纬度
latitude = 39.9;
longitude = 116.5;

两组对应亮度的参数我均以最近白天靠阳台房间窗口背光处笔记本云很少的时候的笔记本适合我的感观的亮度作为基准,对应于第7,8个数字,其余部分尽量平滑的变化到最大值和最小值,然后再根据自己的感受做了一定调整。高亮度部分不如低亮度部分可靠,对应的点太少。
使用中感觉要好了不少,但是在夜间,有时测光后亮度会非常亮,这种感觉不好,尚不知原因。

创建clight个人模块,增加夜间停用自动调光功能

夜间有时自动调光亮度过亮,不知道原因,但win下没有这问题,经过和作者交流(夜间停用调光),得知可以通过创建个人模块的办法来解决,做法是:

创建一个c语言模块文件

比如叫a.c。
我所用的模块是将作者回复我的内容稍作修改实现的。我加上夜间先调光的内容,将夜间的亮度先设置为0.16,然后再关闭。

编译为模块

gcc -shared -fPIC a.c -o NightOFF -Wno-unused

然后拷贝到:

a="~/.local/share/clight/modules.d"
mkdir "$a" && cp NightOFF "$a"

详情见自定义模块

然后重启就好了。
该软件作者非常热情,回复很积极,很开心。

Windows 10下用摄像头测光并调整亮度的办法

软件的选择

Windows下曾经有多个软件可以实现这样的功能,然而,现在已经不容易找到了,经过反复搜索,找到了BLUntrl和SoftonEyes这两个还能下载使用的软件。然而,这两个软件均不能自己设定调光频率而且摄像头持续开启,其中BLUntrl还需要结合nircmd才能使用,会导致不断弹窗。
不过摄像头的开闭可以通过打开关闭程序来实现,所以最终选择使用SoftonEyes。

软件安装

解压SoftonEyes到D:\Tools\SoftonEyes,用choco安装AutoHotKeys和AutoHotKeys compiler

软件配置

建立AdjustBrightness.ahk,内容如下:

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
Loop
{
   Run, D:\Tools\SoftonEyes.exe
     Sleep, 10000
   Run, taskkill /im SoftonEyes* /F,,Hide
     Sleep, 1800000
}
Return

编译该文件,然后把快捷方式加入开机运行即可。

【原创】在Manjaro Linux上安装和配置Gnome纪实

个人笔记,如有转载,请注明出处。

——by realasking

最近更新系统后遇到一些问题,修复过程中,损坏了KDE的一些配置,有些毛病排查起来比较麻烦,鉴于我在Linux下主要的编程、阅读和文本编辑环境已经基本迁移到Emacs上,桌面环境的更迭对我的使用习惯影响应当不大,所以打算先重新安装一个新的桌面环境,快速开始工作,今后有时间再恢复原来的KDE,最终再次安装了Gnome桌面。相对于KDE而言,Gnome仍然是很不完善的,表现在缺乏配置工具、缺乏某些必要的功能,以及一些桌面小工具使用不正常,要让其正常使用,还是需要一定的安装和调整。而我多年未主要使用Gnome,对它的发展已经不够清楚,配置过程中走过了一些弯路,这里作个记录。

安装Gnome

[[email protected] ~]$ sudo pacman -S gnome-shell-extension-appfolders-manager gnome-shell-extension-appindicator gnome-shell-extension-dash-to-dock gnome-shell-extension-desktop-icons gnome-shell-extension-unite gnome-software-packagekit-plugin gnome-themes-maia gnome gnome-extra gnome-mplayer gnome-layout-switcher manjaro-gnome-extension-settings-19.0 manjaro-gnome-settings-19.0 polkit-gnome gnome-subtitles libnautilus-extension eog-plugins guake gnome-icon-theme-extras gdm fprintd gnome-tweaks
[[email protected] ~]$ sudo systemctl disable sddm
[[email protected] ~]$ sudo systemctl enable gdm
[[email protected] ~]$ reboot

配置GDM

[[email protected] ~]$ yaourt -S loginized 

然后进入菜单,找到loginized,进行gdm的自定义

禁用tracker

[[email protected] ~]$ systemctl --user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service
[[email protected] ~]$ tracker reset --hard

然后重启

更换壁纸、主题,防止眼瞎

自动更换壁纸

在搜索栏中搜索bing,然后在扩展安装工具中安装Bing Wallpaper changer,再在gnome-tweaks扩展中打开

更换主题

gnome-tweaks中打开user-themes

gnome-look下载MilkyChromeOS-dark-compact两个主题,放入.themes下。

配置应用程序背景色

Milky/gtk-3.0/gtk.css第20行改为

@define-color bg_color #ebf0f4;

配置输入框

ChromeOS-dark-compact/gnome-shell/gnome-shell.css第2730行改为:

background-color: #16a085;

配置顶栏字号

将第27行改为:

 font-size: 12pt;

然后打开gnome-tweaks,在外观下,将应用程序设置为Milky,将Shell设置为ChromeOS-dark-compact

配置时钟显示

在搜索栏中搜索panel-date-format,安装后打开,然后执行:

dconf write /org/gnome/shell/extensions/panel-date-format/format "'%Y年%m月%d日 %H时%M分'"

配置扩展

在搜索栏中搜索、并用扩展管理工具安装以下扩展,然后在gnome-tweaks中打开:

application menu

cpumeminfo

Dash to dock

Lunar calendar

Openweather

Removable drive menu

Simple net speed

文件关联

gnome没有提供文件关联设置,然而一些自定义的desktop文件在nautilus中常常无法识别,表现为右键打开的时候,找不到自定义的工具,解决办法是启动kdesystemsettings5来设置文件关联。

禁用桌面效果

打开dconf-editor,搜索/org/gnome/desktop/interface/enable-animations,关闭它。

故障排除

启动时,有些开机启动程序不能最小化

安装tray icon扩展,并启用

guake启动时提示F12无法绑定

先删除guake,重启后重装,然后在gnome-tweaks中加入开机启动

坚果云安装后在nautilus的菜单中看不到选项

在安装坚果云之后,再安装aur中的nautilus-nutstore

ibus输入栏字体太小

安装扩展ibus font setting,然后用它来设置

更新系统后重启无法进入gdm,引导结束后屏幕上方有一个光标始终闪烁

编辑/etc/gdm/custom.conf,去除WaylandEnable=false前的注释符号,然后重启。
登录时选择gnome on xorg

自动挂载移动硬盘后只能卸载,不能断电

执行:

sudo pacman -S manjaro-gnome-settings-19.0 manjaro-gnome-extension-settings-19.0

然后重启

topbarDash to Dock上的drive indicator只能卸载移动硬盘,不能断电

这两个就是残次品,没有断电功能,只能在gnome-tweaks中将它们禁用,然后按照上面所说的方法在nautilus中卸载移动硬盘

各种拾色器不能使用

登录时选择gnome on xorg
然后使用用gtk开发的程序,尽量不要用其它图形库的程序。

使用中鼠标突然失灵,无反应

实际上是桌面问题,重新插拔鼠标即可,有时一天会发生多次,要用gnome的话,忍忍就好。

geocluegeoclue2服务导致开机时进入gdm花费很长时间

先卸载掉geoclue2和所有相关的包,重启后重新安装

使用中遇到的未解决的BUG

移动硬盘问题

如果移动硬盘在进入系统桌面前插入电脑,在Gnome中无法被安全移除,只能卸载,即使按照之前的进行过设置

有些情况下Dash to dock不能自动隐藏

设置智能隐藏的情况下自动启动guake,如果在启用其它任何gui程序之前,按F12弹出guake,会发现dock不会隐藏,会遮挡guake弹出窗口的最下方几行。但如果有比如google-chrome-stable之类的程序先被打开,再呼出guake,则一切正常。

gdm引导其它桌面环境的问题

目前只遇到引导deepin桌面有问题。在manjaro上使用gdm引导deepin桌面后,会遇到两个问题:

一是系统无法从deepin环境关机/重启/休眠/注销,只要执行这些命令之一,deepin桌面会快速退出到plymouth的界面,然后无法进行下一步动作,注销时无法退回到gdm界面。

二是ibus不会启动panel,导致deepin中无法启动输入栏,需要每次进入deepin后以root权限killibus的进程,然后以如下命令重新启动ibus

ibus-daemon -xdr --panel=/usr/lib/ibus/ibus-ui-gtk3

nautilus中使用扩展造成和输入法热键冲突

最典型的就是使用nautilus-terminal时可以用F4呼出Terminal,但是要关闭时却和ibus-rime的热键发生冲突,变成了选择英文、简繁体的功能。

archlinux下配置fluxbox

Tag: linux下的fluxbox桌面配置笔记,老文,不知道现在是否有变动。原始发布于:archlinux下配置fluxbox

初次安装archlinux,并在其上配置了fluxbox环境,这里做一点总结,希望对大家有用,同时发在这里和百度linux、archlinux吧,未经许可,请勿转载。
——by realasking

fluxbox是一个小巧、便捷的窗口管理器,很适合archlinux这种轻量级的linux发行版,配合kde桌面环境提供的高质量程序,可以在最少资源占用的情况下获得最好的运行效果,可谓珠连璧合,这里,结合前几天安装配置archlinux的过程,做一个小结。

对于fluxbox的配置,可以分为三个部分:fluxbox和辅助工具的安装,fluxbox的配置,fluxbox周边辅助程序和运行环境的配置,其中第一部分包括fluxbox、fluxbox的主题、必备工具的安装,第二部分包括壁纸、菜单、主题、热键、启动程序等的设置,第三部分包括桌面效果、图标、音量控制、开关机控制、文件关联等,下面即分这三部分来进行叙述。

fluxbox和辅助工具的安装

这里假定已经将pacmanyaourt工具配置好,实现本文操作,至少需要安装以下资源:

主要桌面工具:kdefluxboxopenboxideskmenumakerfehxbindkeys
重要扩展:xcompmgr-danaconkyguakealsa-utilsrootactions-servicemenu-kde4hddtemp
其它:一些字体

安装过程:

#yaourt -S kde fluxbox openbox idesk idesk-extras menumaker feh xcompmgr-dana guake alsa-utils rootactions-servicemenu-kde4 hddtemp

注意:

所有配置文件和安装文件都不用修改,conky待安装完成后自己到sourceforge下载源码编译,需要打开一些编译选项,archlinux提供的编译版本编译的质量太差了,大量选项不可用。
安装xcompmgr-dana而非原版xcompmgr的原因是原版存在很多bug,比如渲染osdlyrics的时候,不能将桌面歌词始终显示在最前面,渲染fcitx输入窗口时也会启动阴影,而且是错误的等。

rootactions-servicemenu-kde4是一个可以在dolphin中以root身份执行一些程序(包括root的dolphin)的dolphin菜单扩展。

刚才写掉了几个:

#yaourt -S xbindkeys archlinux-xdg-menu xscreensaver 

xbindkeys用来设置笔记本功能键,也可以不用,xscreensaver用来配置锁屏幕

fluxbox的配置

现在,编辑/etc/inittab,修改默认运行级为5,并修改登录管理器为kdm,重启计算机后,以普通用户登录,并选择fluxbox,然后注销,以普通用户登录进入failsafe模式进行配置工作。

先生成fluxbox菜单,这里有好几种程序都能完成工作,其中menumakerarchlinux-xdg-menu是我比较喜欢的,以前在Fedora下也用它们,前者可以生成分类很好的菜单,只是都是英文的,后者可以生成中文菜单,不过只是应用程序的菜单,可以将两者的菜单进行结合,或编辑第二个的菜单来扩展一些内容。另外还有一个fluxbox自带的工具fluxbox-generate_menu可以生成有图标的菜单,不过在我从来没成功用过,报一些函数过时之类的错误。

menumaker生成菜单

$mmaker -v Fluxbox

即可在~/.fluxbox下生成menus文件,是fluxbox的菜单,还包括设置、退出等操作.

archlinux-xdg-menu生成菜单

$xdg_menu --fullmenu --format fluxbox --language zh_CN.UTF-8>~/.fluxbox/menu

如果加了--root-menu选项并指明位置,也可以生成完整的fluxbox菜单。

设置壁纸

进入一次fluxbox之后,在终端执行

$fbsetbg 文件名

编辑~/.fluxbox/startup文件,加入fbsetbg -f 文件名
该项应该存在在conky启动语句之后,xcompmgr启动语句之前,且要注意第一次配置时,同文件夹里的lastwallpaer里应该为空或为只包括正确的壁纸文件的那一句,不然就应将多余的内容删除。然后进入fluxbox,从菜单中选择一种style,并修改/usr/share/fluxbox/styles下对应主题中的字体设置,务必设置为系统中可用的一种中文字体,所有字体选项都要修改。

再设置热键

先用xev识别键名

在fluxbox的终端(如konsole)中执行xev,然后按键,查看键名,比如我按Fn+F3就显示:

KeyRelease event, serial 34, synthetic NO, window 0x3a00001, root 0x15d, subw 0x0, time 8900953, (303,-203), 
root:(304,358), state 0x0, keycode 223 (keysym 0x1008ff19, XF86Mail), same_screen YES, XKeysymToKeycode 
returns keycode: 163 XLookupString gives 0 bytes: XFilterEvent returns: False

其中XF86Mail就是键名,如果按空格,则键名是space

再设置Fn+功能键

这个大部分由内核直接接管,但是有部分能够识别键名,却没有功能的,比如我这里的电邮键和媒体键,以媒体键为例,编辑~/.xbindkeysrc,输入:

"/usr/bin/osdlyrics"
XF86Launch1

再在~/.fluxbox/startup文件的fluxbox执行语句(exec fluxboxexec ck-launch-sessionfluxbox,推荐后一种写法)之前输入:

xbindkeys&

加&是因为要让这些程序后台运行,不然在这些程序结束之前,fluxbox就不会自动启动,用xbindkeys设置这些键的原因是也可以用在其它窗口管理环境中而不必修改,不用xbindkeys设置所有快捷键的原因是发现有的快捷键设置在archlinux中会失效,而又确实没有定义过。
然后再在~/.fluxbox/keys中定义热键,按照已有的格式写就是了,只要注意不要再在这里面定义xbindkeys已经定义过的热键,以及用Mod1表示alt和用Mod4表示meta就行了,比如:

Mod4 M :exec konsole -e mutt

表示Meta+M就调用konsole来执行mutt邮件管理程序。

fluxbox桌面图标设置

最好使用idesk,先在~/下建立.ideskrc文件和.idesktop文件夹,.ideskrc文件的内容和格式可以参考/usr/share/idesk/dot.ideskrc文件,快捷方式文件以.lnk结尾,放在.idesktop文件夹里,格式可以参考/usr/share/idesk/default.lnk,在/usr/share/idesk/icons下有一些常用程序的图标可供使用。

将需要的lnk文件都建立后,建议执行:

$chmod 400 ~/.idesktop/*

然后修改~/.ideskrc文件,修改Background.File: ,其后添加为桌面壁纸的路径和文件名,以及Locked: true

如果后面将使用xcompmgr-dana设置阴影效果,可以将文件中的Shadow:设置为false

fluxbox的开机启动程序的设置在~/.fluxbox/startup中进行,大多数守护进程程序都需要后台执行,因此其后需要加&符,另外各启动程序间往往有先后顺序,因此可以在一行中这样用:

sleep 秒数;程序&

这样就先等待这么多秒,然后再执行程序。
另外,也可以执行export 环境变量=变量值;程序&来设定以某环境变量执行程序。

桌面相关设置

实现开关机和休眠

以root用户执行:

#visudo 

添加以下内容:

你的用户名 ALL(root) = ALL
%wheel ALL(ALL) = ALL
你的用户名 ALL(root) = /sbin/poweroff, /sbin/reboot, /usr/sbin/pm-suspend, /usr/sbin/pm-hibernate

然后保存,再以普通用户修改菜单文件menu,加上:

[submenu] (关机)
[exec] (重启计算机) {sudo /sbin/reboot}
[exec] (关机) {sudo /sbin/poweroff}
[exec] (挂起) {sudo /usr/sbin/pm-suspend}
[exec] (休眠) {sudo /usr/sbin/pm-hibernate}
[end]

这里也可以在启动过程中加载kde的守护进程,然后用kshutdown来管理开关机,不过我不知道kde4.7中应该加载的进程名和参数,没去查。

关于休眠,如果发生休眠后不能唤醒,应该根据archlinux的wiki去实现用户态的休眠,因为用户态的休眠不涉及Acpi,如果自己机器的acpi功能不能被内核完美支持,或者主板或显卡Bios中本身对acpi支持就存在缺陷,选择用户态的实现,也不会因此影响休眠。另外,如果要实现休眠和挂起,最好将acpid进程加入到rc.conf的开机启动进程中。

修改文件关联

以root用户编辑/usr/bin/xdg-open,将以下内容:

if [ x"$DE" = x"" ]; then
DE=generic
fi

中的generic改为kde,然后保存

桌面监控

conky,记得在桌面壁纸设置前加载,并且要如下设置:

own_window_type desktop
own_window_transparent yes 

argb不要打开。

桌面效果

xcompmgr-dana,在~/.fluxbox/startup中加入:

sleep 5;xcompmgr -Ss -n -Cc &

这一项要在桌面壁纸设置之后、fcitx启动之前完成加载,意思是启动服务器和客户端的透明和模糊特效,但不对dock属性等的窗口加阴影,但是这样设置之后仍然不能让终端等窗口实现真透明的,要实现真透明,还需要加-f参数,实现fading(但我这里没开,因为xcompmgr无法实现blur特效,开终端真透明会影响操作)。

音量控制

kmix,需要在startup中的xmodmap语句的下一句就加上pkill -9 kmix&,然后再加上amixer cset语句和kmix语句启动它,例如:

pkill -9 kmix&
amixer cset numid=1,iface=MIXER 60&
amixer cset numid=14,iface=MIXER 59& 
sleep 6;kmix&

amixer用来设置对应通道的音量,用来临时解决archlinux没有一个完善的声卡启动脚本导致部分机器有的通道音量默认为0的问题(比如外响不响,但是声卡的model的识别却是正确的),numidiface和最大可设音量也可用amixer查询,具体用法可查询alsa的手册或我在linux-ren上的博客内容(该内容好像我没有发在百度的空间中)。

锁屏幕

xscreensaver,在startup文件中加入:

/usr/bin/xscreensaver -no-splash &

在菜单或热键中加入对命令xscreensaver-command --lock的调用就行了,
对于xscreensaver程序具体行为的设置,
执行/usr/bin/xscreensaver-demo来完成。

这样设置之后,fluxbox应该基本就可以用了,需要网络指示的,可以再启动一个nm-applet,这篇文章也就应该结束了,今后一两年内,除必要软件外,也不想再折腾软件应用方面的东西了,还是应该做些更有意义的事儿,谨以此文作为纪念。

[笔记]gimp的plugins下载镜像和下载位置记录

个人笔记,如有转载,请注明出处。

——by realasking

很久没有访问过registry.gimp.org下载gimp插件了,最近发现其无法访问,在bing上搜索,发现有网友镜像了该网站,其位置是:

https://github.com/pixlsus/registry.gimp.org_static

在该镜像的files目录下就可以下载各种插件,很棒。

在windows10下,.scm格式的插件的防止位置是:

C:\Users\用户名\AppData\Roaming\GIMP\2.10\scripts

archlinux现阶段中文支持的几个暂时无解的问题

个人最近两月重装和使用中发现,作个笔记,防止今后踩雷,个人看法,未必正确,如有遗漏、误解,还请谅解,另外,如有转载,请注明作者和出处。

--by realasking

1.freetype2渲染中文字体,noto系列过淡,文泉驿和fandol过浓

2.freetype2-infinality和infinality-ultimate渲染,英文很好看,中文字体变形,特别是fandol,调整参数可部分解决

3.使用freetype2-infinality或infinality-ultimate后,sddm和kde部分字体和符号大小、间距不正常,比如sddm登录界面的开关机等符号,还有kimpanel上的符号,并且还会影响kimpanel的文字输入框,输入框会变高

4.kde5版本(master分支)的kimtoy会段错误,无法运行,但kde4分支的可以正常运行,只是其desktop文件中的“X-KDE-autostart-condition=kimtoyrc:behavior:AutostartKIMToy:false” 一行应删掉,不然启动不起来。

5.kimtoy可使用搜狗的皮肤,但是显示效果和搜狗输入法上的效果有区别

6.部分程序使用中文时会有部分汉字显示为日文字形,修改字体配置文件也没完全解决,也可能是没有把要改的地方都找到。

7.blogilo和fcitx、ibus有冲突,可视界面不能输入文字,而且上游貌似不愿改(https://bugs.kde.org/show_bug.cgi?id=376724 其中的Christoph Feck建议大家删除掉输入法)。

8.ibus-fbterm现在在tty下无法热键切换了,进入之后就是中文拼音,英文和符号输入都会有困难,而且候选框乱跳,并覆盖屏幕内容。