分类 Linux 下的文章

[笔记]xfce上conky的正确设置方法

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

最近由于Arch更新后KDE桌面遇到一系列问题,遂将台式机的系统换成了xubuntu 24.04,然后发现原本在KDE上正常的conky变得不正常。问题包括:如果将conky设置为开机启动,有一定概率出现启动了多个conky实例,并重叠在一起;如果将conky运行一次,然后保存session,下次开机启动后,过一段时间,conky会不刷新,显示时间和实际时间不同。经过摸索,最终解决,方法如下:

将conky设置为登录时启动,并设置注销时结束conky.

(1) 在设置管理器中点击会话和启动,再点击Application autostart
(2) 点击Add,添加application,名称为conkyTrigeron loginCommand为:

conky -c .config/conky/conky_topr_Desktop_xfce.conf

(3) 点击Add,添加application,名称为kill conkyTrigeron logoutCommand为:

pkill -9 conky

编辑配置文件

比如conky_topr_Desktop_xfce.conf

将窗口特性相关选项按如下设置:

own_window = true,
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
own_window_class = 'Conky',
own_window_type = 'desktop',
own_window_argb_visual = true  ,
own_window_argb_value = 160 ,
own_window_transparent= false  ,
draw_blended = true ,

去除所有以execi执行的脚本,全部放到cron中以计划任务执行,并把结果放到txt文件中,用execp取回。比如:

cron list中的内容:

@reboot /home/realasking/bin/city_conky.sh > /tmp/city.txt 
@reboot /home/realasking/bin/weather_conky.sh > /tmp/wecon.txt
* */6 * * * /home/realasking/bin/weather_conky_nosleep.sh > /tmp/wecon.txt

在conky配置文件中的内容:

${execp cat /tmp/city.txt}${execp cat /tmp/wecon.txt}

有的脚本不在conky中执行时,可能依赖于登录后某些系统服务启动才能正常使用

这些脚本在cron list中要设为@reboot的,但是在脚本的最开头,要加上sleep 600之类的,设置执行的等待时间。

这样处理后,conky在xfce上就正常了,但是用这个方法处理歌词同步显示配置会有问题,因为延迟无法避免。

[笔记]Archlinux下外接第二显示器能识别但无法使用的解决方法

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

在我的R7000p上,用type-c转DP输出了显示信号供外接显示器之用,在Windows上一切正常,但在Linux下始终是能识别,但无法显示。最近一段时间,由于KDE更新到plasma6,把系统搞坏了,就换了xfce。但xfce在检测到有双显示器后,会反复尝试打开第二显示器,从而造成不断闪屏。经过一系列尝试,找到解决办法:

vi /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT=行加入参数nvidia_drm.modeset=1

然后执行:

sudo grub-mkconfig -o /boot/grub/grub.cfg 

再重新启动电脑,就好了。

[原创]Windows 11上访问Linux上架设的NFS共享目录

个人原创,如有转载,请注明出处。

——by realasking

Windows 11上访问局域网NAS的NFS不能用Windows自带的NFS Client,用该方法需要加域,用ACTIVE DIRECTORY,配置非常复杂。网传的改注册表中的uid和gid的方法现在已经失效,况且改为root的gid和uid并不安全。2008年的nfs v4.1 client for windows项目在2012年后也再无更新,现在基本处于难以使用状态。

经过多日搜索,目前找到了以下方法,不过访问效率不是很高。

1.安装Windows自带的NFS Client功能,因为它的一些工具我们需要。

2.从github下载并安装winfspnfs-win,这是第三方的nfs驱动。

3.重启电脑。

4.查找NAS上具有NFS共享访问权限的用户uid和gid,这个gid必须是用户的基本组id,不是NFS组的gid。
比如我自己的uid是1000,gid是100,这个100是users组的gid,users组是我的用户realasking的基本组。

5.打开Windows终端,在启动的powershell窗口中查看Windows电脑的用户名,就是提示符中>前、users\后的内容。

6.输入命令showmount -e NAS的IP,找到NFS共享目录。

7.打开文件管理器,在此电脑上单击右键,点击映射网络驱动器。

8.在文件夹中输入:

\\nfs\windows电脑的用户名=NAS上的用户uid.NAS上的用户gid@NAS的IP\NFS共享目录

9.选择一个盘符,然后点击确定。

只是做到这样,还是不够的,还要让wsl也能正常使用nas,做法是:

  1. 执行命令:

sudo vi /etc/wsl.conf

输入以下内容后保存:

[boot]
systemd=true
  1. 重启电脑或wsl
  2. 在wsl中执行以下命令安装和启用nfs client:
sudo apt install nfs-client nfs-common
sudo systemctl enable --now nfs-client.target
  1. 执行以下命令:

mkdir /mnt/z

  1. 输入命令showmount -e NAS的IP,找到NFS共享目录。
  2. 执行命令sudo vi /etc/fstab,加入以下内容:
NAS的IP:NFS共享目录 /mnt/z nfs _netdev,noauto,x-systemd.automount,x-systemd.mount-timeout=10,timeo=14,x-systemd.idle-timeout=1min 0 0

然后重启电脑就行了。

[原创]Intel 13代无核显i5加RTX4060台式机Linux下闪屏及锁屏无法关闭背光的解决

原创文章,如有转载,请注明出处。

——by realasking

前段时间自己组装了一台i5-13490f+RTX4060的台式机,顶替一台不久前坏掉的笔记本,并在还没有计算设备的情况下,暂时兼作计算模拟平台使用。

机器使用大体上还行,但是遇到了几个问题,折腾了十几天,才算解决,其中花了最多精力的就是偶发闪屏,并且锁屏后无法关闭背光的问题。

这台机器在Linux下使用时,用HKC显示器带的HDMI线连接时,使用中会偶而闪屏,在Windows下正常。因为显示器自带的线不算粗,自己以前又对DP线有比较好的印象,并且显示器自带DP和HDMI切换功能,也许可以节省一台KVM,所以就买了一条联想的DP线。换线之后,闪屏立马消失了,为此我着实高兴了一阵,殊不知这恰恰是走了一段弯路。

然后就着手解决Linux下锁屏后无法关闭背光问题。这个问题表现为自动锁屏或手动锁屏后,显示器背光会熄灭,但几秒后就会亮起,此后就一直长亮。这个问题在我的机器上和多个因素有关,因此开始时被一些因素干扰了判断。

显示器背光开始会熄灭,说明主板BIOS、内核和系统中的ACPI选项与服务都是正常工作的,然后再亮起,说明之后有什么进程唤起了相关功能。经过检查journal和dmesg信息,发现wifi在报错和启动。我的wifi是AX101,默认设置下在Linux下无法成功进行认证的,必须disable掉wifi6、只启动wifi5才能正常使用,但这么做了之后,在锁屏后它会发送报错信息,这一操作,是屏幕亮起来的第一个原因。如果能够不用此wifi,只用有线,那应该能解决了吧?但这个wifi是集成在主板上的,而我用的这块七彩虹战斧b760m white wifi v20主板的BIOS中并没有关闭此wifi或关闭此wifi的wifi6功能的选项,所以最后的解决方法是:

1.连接有线网卡
2.不再屏蔽wifi6功能
3.在KDE中去掉启用WIFI前的复选框

这么做了之后,确实日志中没再报错了,但锁屏并关闭背光后会几乎立刻亮起来,这是什么原因呢?经过检查后发现,由于显示器是VA的,最低亮度比较高,我调用了xrandr降低亮度,但当时偷了点懒,相关的命令写在conky中的。把这个命令从conky配置中移到单独的脚本中,然后配置为KDE的启动脚本,然后屏幕又变成了过几秒亮起来......

启动脚本~/bin/AutoBrightness.sh:

#!/bin/bash
# Disp = "DP-4"
Disp = "HDMI-0"
sleep 10
xrandr --output ${Disp} --brightness 0.76

至此陷入了困境。由于我有一台R7000p2021版,是amd 5800h+RTX3050Ti的,它的锁屏是正常的,我就对比了一下两台机器加载的内核模块,有两个发现:

1.R7000p2021加载了nvidia_wmi_ec_backlight,wmi,wmi_bmof模块,而这台台式机没有
2.drm的模块不同,R7000p2021的除了加载了nvidia_drm外,还加载了amd核显的相关模块

尝试用modprobe手动加载nvidia_wmi_ec_backlight后,wmi,wmi_bmof也会被加载,但锁屏并关闭背光后,屏幕还是会再次亮起,只是时间间隔又是瞬间亮起了。

纠结了一段时间之后,突然想换成HDMI线试试,然后发现手动加载相关模块的情况下,用HDMI线连接,有时能正常关闭背光,有时还是会亮起,但用配置文件自动加载模块则还是不能关闭背光,同时,屏幕偶发闪烁又出现了。那么,是否和drm有关呢?于是又做了两个设置:

  1. 新建内核模块自动加载文件/etc/modprobe.d/gpu.conf:
blacklist nouveau
blacklist ttm
blacklist drm_kms_helper
blacklist drm
options nvidia "NVreg_DynamicPowerManagement=0x02"
install wmi /sbin/modprobe -i -f wmi
install wmi_bmof /sbin/modprobe -i -f wmi_bmof

2.在/etc/default/grub中关闭modeset:

GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet nomodeset"

3.重新生成/boot/grub/grub.cfg

然后重启。

于是锁屏也能黑屏了,闪屏也不再发生了...

[原创]内核中没有nfs模块的联想个人云存储A1怎么挂载到Linux上作共享分区使用

个人原创,如有转载,请注明出处。
——by realasking

今天有人问起联想个人云存储怎么挂载到Linux上作共享分区的问题,就稍微折腾了一下。

众所周知,NAS的一个重要用法是以NFS协议挂载到多个GNU/Linux结点设备上作为共享分区。这么做好处很多,比如需要在多台设备分别调试一个程序的时候,可以不用反复搬运程序、从而避免可能引入的不一致;又比如需要跨结点计算时,可以不必复制多套相同数据,从而节省存储空间和减少数据交换。但是,现在很多“轻路由”却阉割掉了这一功能,在使用上引起了一些不便。

联想个人云存储A1就是如此的,它没提供NFS功能,但好在它的文件共享使用的是samba技术实现的,所以可以用cifs工具来进行挂载。做法如下,不过要注意我是已经获取了A1的root权限和永久ssh登录功能的:

在一台安装有Archlinux的设备上,执行以下命令安装cifs相关工具:

sudo pacman -S smb4k cifs-utils gvfs-smb

然后用以下命令先手动挂载个人云的samba目录:

sudo mkdir /mnt/SMB
sudo mount  -t cifs //个人云IP/Samba用户 /mnt/SMB -o user=Samba用户,pass=Samba密码,rw,file_mode=0777,dir_mode=0777

打开smb4k,在“已挂载的共享”中的这个挂载好的图标上单击右键-添加书签。

再点击设置-配置smb4k-挂载-通用挂载设置,勾选写入权限,点击确定。

然后卸载已挂载的共享,之后就可以在smb4k的书签菜单下直接点击保存的书签进行挂载了。

做好后,挂载的samba目录默认在${HOME}/smb4k/个人云IP/Samba用户下,用当前用户可以进行读写执行操作,但是保存在个人云上会是root权限。

然后可以把smb4k的快捷方式放到常用程序中,用的时候相对方便。

最新文章

最近回复

  • realasking: 哪里的话,还要非常感...
  • cnfczn: 发送留言报错:in_...
  • cnfczn: 大狮兄666,以前经...
  • realasking: 最近还行啊,就是上网...
  • cnfczn: 大狮兄,好久不见啊....
  • realasking: 您好。有什么问题就在...
  • Eric Chen: 作者你好!最近折腾中...

分类

归档

其它