分类 计算机 下的文章

[原创]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的快捷方式放到常用程序中,用的时候相对方便。

[原创]解决Windows 11上64位kile安装后闪退崩溃的问题

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

最近遇到一个怪事情,两台笔记本同时通过微软商店装kile的Windows版,一台运行正常,另一台总是一打开就闪退崩溃。查看日志显示,是ntdll.dll错误,代码0xc00000fd。
对于这个问题,首先在出问题的机器上通过regsvr32.exe /u ntdll.dllregsvr32.exe ntdll.dll重新注册ntdll.dll库,但是提示找不到入口;然后更换了不同的64位的kile版本,也没有解决问题;之后又尝试过兼容模式和重装amd和nvidia(机器是5800H+3500Ti)驱动,也没有改善;对比两台机器装的微软更新和Visual C++ Redistributable也基本一样......顿时一筹莫展。然后想看看旧版本的kile可不可以跑,但网上几乎找不到早些时候的版本的,只好翻自己的一堆硬盘,还好找到了一个2019年的kile-2.9.92-2-windows-msvc2017_32-cl.exe,装上去结果正常了。惊喜之余觉得很奇怪,因为这是一个32位的早期版本,但又不再是2.1.x分支,而已经是kile3分支了,它能运行的话,后来的64位版本更没理由跑不了。于是猜测问题可能还是出在Visual C++ Redistributable上。
由于我的两台机器装的软件比较杂,vcdist的2005,2008,2010,2012,2013,2015-2022的x86和x64版都有安装,它们之间是不是会有什么问题?经过反复的尝试,发现先把它们都卸载,然后先从2015-2022开始,按时间倒序(每个年份的都是先装x86,后装x64)来装好这些库,再安装kile就没问题了,此时系统中的其它软件也都能正常运行。

[笔记]Arch Linux的Samba和KDE桌面配置过程整理

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

配置过若干次Samba了,次次都搞得很随意,这一次对KDE+Samba桌面共享做得稍微规整了一点,作个记录。

  1. 安装必要的软件包
sudo pacman -S samba kdenetwork-filesharing smb4k avahi gvfs-nfs gvfs gvfs-afc gvfs-mtp gvfs-smb
  1. 获取Samba配置文件
curl "https://git.samba.org/samba.git/?p=samba.git;a=blob_plain;f=examples/smb.conf.default;hb=HEAD" -o smb.conf

打开smb.conf,在109行后加入:

usershare path = /var/lib/samba/usershares
usershare max shares = 100
usershare allow guests = yes
usershare owner only = yes

然后:

sudo cp smb.conf /etc/samba/
  1. 创建共享组、用户共享目录并设置权限
sudo groupadd sambashares
sudo mkdir -p /var/lib/samba/usershares
sudo chgrp sambashares /var/lib/samba/usershares/
  1. 当前用户加入组
sudo usermod -a -G sambashares $USER
  1. 添加防火墙规则
sudo firewall-cmd --permanent --add-service={samba,samba-client,samba-dc} --zone=home
  1. 启动服务
sudo systemctl enable smb
sudo systemctl enable nmb
sudo systemctl enable avahi-daemon

然后重启电脑

  1. 重启后,在dolphin中设置共享文件夹:右键-属性-共享-设置共享密码-勾选与局域网的其它计算机共享此文件夹-确定
  2. 检查文件夹权限

点击显示Samba状态监视器,在用户建立的共享中点击各共享文件夹右侧的小按键,弹出的窗口如果提示:“此文件夹需要额外的权限才能进行共享”,则点击修复权限按钮进行修复。

  1. 确定访问路径,并进行访问

执行命令hostnamectl,显示的Static hostname: XXX中的XXX即机器hostname。在其它Windows电脑的此电脑中,单击右键,点击添加一个网络位置,然后点击下一步。在选择自定义网络位置中输入\\XXX\共享的文件夹的名字,然后输入用户名和访问密码即可。

最新文章

最近回复

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

分类

归档

其它