用ubuntu的使用习惯使用windows (by quqi99)

发布时间:2026/7/17 11:38:22
用ubuntu的使用习惯使用windows (by quqi99) 作者张华 发表于2020-04-18版权声明可以任意转载转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明更新vim这些工具可以使用 git里自带的会更方便命令行工具可以伤脑筋windows terminal它是多tab的问题新入手了一台笔记本电脑默认安装了win10用了十几年linux了也一大堆linux的vps维护的太麻烦还是就只使用单系统的win10吧。那样问题来了如何像平时使用ubuntu的习惯一样使用linux呢CLI工具的选择国内网络太慢所以从来不在国内的机器上跑程序都是ssh到国外vps上来办公的 这样主要是使用CLI命令很少或几乎没有使用GUI工具的习惯。所以选择一个好的CLI工具是决定能否继续使用windows的关键。能用wsl吗wsl将linux系统调用翻译成windows调用, 决定了它仅支持CLI 当然也可以通过windows上安装xming之类的x server来运行某一些GUIwsl内运行:export DISPLAY:0.0)但很多GUI是不支持的如chrome与firefox; 另外wsl也不支持访问底层硬件所以无法运行python pyaudio之类的程序。wsl的优点它可以通过运行’wsl’快速切换到ubuntu bash也可以通过’wsl ls’之类的命令实现在windows上直接运行bash命令 这对我这种只熟悉unix命令不熟悉windows命令的人来说吸引力是很大的。所以wsl要结合着用但主要就是用它的’wsl ls’之类的方便后面会讲如何通过alias来使用它。能用powershell吗要运行访问硬件之类的python pyaudio程序只能通过powershell, 不能使用ubuntu wsl shell或者cgwin shell. 使用powershell不支持自定义快捷键让我像使用bash的快捷键习惯一样使用它这个缺点是对我来说是致命的所以我不能用它。能用mabaxterm吗mabaxterm同时集成了wsl shell, cgwin shell, powershell 但这些全如上面说的不合我的需求。所以只能将它作为备用偶尔用用它好用的x server, scp等功能。我很少用GUI所以这对我来说也属于低概率事件备用着吧。cmder是我最终选用的工具它的cmder shell支持使用python pyaudio程序和bash一样的快捷键使用习惯。也集成了git, ssh这些常用的功能也能通过定义alias别名方便使用wsl bash命令 也支持tabs。很好就是它了现在需要设置它让它更符合我平时使用linux的习惯。设置cmder的home dirD:\wsl rootDESKTOP-ENUSKP0:/mnt/d# grep -r home pat /mnt/d/soft/cmder/vendor/init.bat -A 3 :: Set home path if not defined HOME set HOME%USERPROFILE% %lib_console% debug_output init.bat Env Var - HOME%HOME% cd /d D:/定义/bak软链与ubuntu的路径使用习惯相同rootDESKTOP-ENUSKP0:/mnt/d# ln -s /mnt/d /bak rootDESKTOP-ENUSKP0:/mnt/d# ls /bak/soft/cmder/vendor/init.bat /bak/soft/cmder/vendor/init.bat定义alias别名在cmder shell更方便直接使用wsl bash命令D:\cat soft/cmder/config/user_aliases.cmd |tail -n 20 sshxxxssh ubuntuxxx -b 192.168.8.101 ifconfigwsl ifconfig awkwsl awk headwsl head lesswsl less lswsl ls manwsl man sedwsl sed tailwsl tail routewsl route pingwsl ping nslookupwsl nslookup digwsl dig tarwsl tar catwsl cat teewsl tee设置默认使用cmder shell注 winshifts可以快速截屏标题在General - Confirm中去掉警告设置tab相关的快捷键与chrome vimum其他 - 让windows支持内录thinkpad x1 yoga只有一个音频口喇叭在放音的时候就单工了麦克风不能录音了能让声音内部从喇叭路由到pyaudio程序处理了再内部路由到麦克风吗答案是需要安装虚拟路由同时得支持路由在虚拟设备和物理设备间路由。有款叫voicemeeter的软件就是做这件事的。路由设置如下图在1处选内装麦克风同时将A去掉A代表可以从麦克风处输入声音2处不选 因为只有一个音频物理设备3处是选虚拟设备的A,B两处默认都选最右侧输出到扬声器需要将声音的输入和输出默认都走虚拟设备注意这样声音就被内部路由到python pyaudio了 如果外部也能从物理设备录音的话必须一直开着voicemeeter, 所以按winr键输入 shell:startup 进入 C:\Users\ThinkPad\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 目录 将voicemeeter的链接加到这个目录开机就自动启动了. 不过 我不是这样做的voicemeeter菜单中有如下的两项开机自动启动并放入拖盘的设置如下图。20230209更新 - 小主机连电视后如何同时从HDMI与内置扬声器输出maxtang NUC通过HDMI连电视后电脑的声音将通过HDMI从电视出。此时若在电脑上再装一个带麦的蓝牙耳机那要求电脑的声音同时从内置的麦克风出到蓝牙耳机和输出到电视。那怎么办呢仍得用到voicemeter.下图是用到了纯麦麦克风卖家说它只能用在鸿蒙电视上其实它也能用在win11上。需要做以下几步将电脑的右下角的小喇叭的输出改成从voicemeter的virtual出如下图在voicemeter的最右边的’HARDWARE OUT’处改成同时使用HDMI与扬声器出。如下图最左侧的HARDWARE INPUT 1处改成使用纯麦的麦克风. 没有第二个麦克风所以HARDWARE INPUT2可以不管 VIRTUAL INPUT用默认。粘贴到vim全变成一行的问题如从记事本复制多行内容然后粘贴到vim却变成了多行将下图中CtrlShiftV的快捷键设置成Multi lines模式即可。另一个开机自启的方法上面介绍了一种开机自启的方法但对于cmd命令的自启还要写脚本打开shell再后台运行程序再关shell。但我的windows shell不熟悉啊。有一种简单的将自己的应用放入服务的方法 以开机自启frpc为例将nssm.exe下载放到和frpc同一级目录运行nssm install frpc 会弹出配置服务界面照着配置就行了到服务目录设置自动启动它。安装clink增强cmder的像bash completion一样的命令提示安装类似于proxychain的proxycap安装winaera tweaker设置系统代替设置注册表使用qnap nasqnap nas设置了nfs server, wsl中由于没nfs内核模块无法通过autofs设置nfs.所以直接在浏览器上通过\就可以访问nas了, 或者安装qfinder pro其他 - 键盘丢失按键的问题感觉键盘总是丢失按键似乎是在cmder时发生(not 100% sure) however, 搜到了一个相关的bug - https://github.com/cmderdev/cmder/issues/258后来安装双系统后切换到ubuntu后不再丢失按键所以不是键盘的问题就是cmder的bug, 见https://zhhuabj.blog.csdn.net/article/details/8246663920220610更新 - 远程解决两例windows问题昨天媳妇打电话说她同事的电脑键盘不能用但鼠标能用我平时也很少很少用windows系统只能远程试着帮她解决她说她的键盘是圆口哦那是PS2键盘那么古老我的第一反应就是会不会古董与新的win10存在不兼容于是要她换个usb键盘试试她说usb键盘也不行换蓝牙键盘也不行于是要她重启一下机器她重启了好几次说也是不行于是昨天中午我就带了一个ubuntu启用盘想过去确认一下是win10的问题还是电脑硬件的问题结果到她办公室的时候还什么也没开始做那键盘自然就好了我就告诉她那可能是PS2古董键盘的问题让她同事换个USB键盘继续用今天她又打电话说USB键盘也又出同样问题了于是搜索微软官方发现 https://answers.microsoft.com/zh-hans/windows/forum/all/win10%E7%B3%BB%E7%BB%9F%E6%AF%8F%E6%AC%A1%E5%BC%80/cfd83767-04c4-4e2d-b74b-66f80f21ead3要她以管理员用户打开cmd运行下列命令后问题就解决了期间因为键盘没法用无法输入字符要求她微信用鼠标拷贝但粘贴之后没有键盘按回车要求她使用电脑的屏幕键盘搞定reg add HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E96B-E325-11CE-BFC1-08002BE10318} /v UpperFilters /t reg_multi_sz /d kbdclass /f于是这个问题搞定上个月她也打电话问了另一个问题说chrome无故闪退我让要换个浏览器她说她换edge了问题依旧我说edge用的内核也是chrome内核也许你应该换个firefox浏览器结果问题就解决了至于为什么chrome会闪退那就不得而知了她的win10系统是更新到最新版的chrome也是最新版的但windows不比linux可以轻松获取chrome的core dump来分析一下我对windows实在不熟不清楚如何获取core dump, 先要她用firefox作为workaround了编码问题可在region setting设置中将默认编码从gb2312改成utf-8.当然即使win10仍然使用gb2312python程序也可以仍然使用utf-8编码添加# codingutf-8该程序如果还要再打开其它可能有中文的文件的话也要处理utf-8: open(‘columns.txt’, mode‘r’, encoding‘utf-8’)这样utf-8的python程序也能跑在gb2312的windows上了但windows cmd想要支持utf-8的话可运行chcp 65001或修改注册表见https://blog.csdn.net/ml863606/article/details/8600757920250112 Update - miniDLNA家里是两级路由器想连在二级路由器(192.168.3.0/24)上的手机访问连在一级路由器(192.168.99.0/24)上的照片。所以想试一下miniDLNA但找不到免费的dlna client (后来将minipc上的wlan0启用就可以了)。 好用的dlna client有vlc for android既支持nfs又支持dlna, 但有时候不能全屏DmsExplorer, 能全屏但只能一个个文件放要多个文件连续播放得自己创建播放列表其他的client基本上都有广告或收费sudo rfkill unblock wifi sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf sudo dhclient wlan0 sudo rfkill list sudo ip link set wlan0 up lspci -k | grep -iA2 network sudo iw dev wlan0 scan | grep SSID cat EOF |sudo tee /etc/wpa_supplicant/wpa_supplicant.conf network{ ssidSSID pskPASSWORD } EOF #上面的方法会过段时间IP消失改成netplan模式 huaminipc:~$ sudo cat /etc/netplan/01-network-manager-all.yaml |head network: version: 2 renderer: networkd wifis: wlan0: dhcp4: true access-points: quqiAP5G: password: xxx ethernets: sudo apt install minidlna -y cat EOF |sudo tee -a /etc/minidlna.conf #A for audio, V for audio, P for images media_dirPV,/bak/photo friendly_nameminipcDLNA network_interfacebr-eth0,wlan0 inotifyyes EOF sudo systemctl restart minidlna sudo systemctl enable minidlna sudo minidlnad -R #use vlc for android as client, and status page is: http://192.168.99.179:8200/ 下面的配置不work 所以后来用wlan0来bypass的 1, 一级路由器添加静态路由目标网络为二级路由器子网(192.168.3.0/24)网关为二级路由器WAN口(192.168.99.213) 2, 配置一级路由器的防火墙允许来自二级路由器子网192.168.3.0/24的流量访问 MiniDLNA 服务器192.168.99.179的端口默认是 TCP 8200 rootgw:~# grep -r 8200 /etc/config/firewall -B10 config rule option enabled 1 option target ACCEPT option src wan option dest lan option name Allow-MiniDLNA-From-Secondary-Subnet option family ipv4 option proto tcp option src_ip 192.168.3.0/24 option dest_ip 192.168.99.179 option dest_port 8200 rootgw:~# iptables-save |grep 8200 -A zone_wan_forward -s 192.168.3.0/24 -d 192.168.99.179/32 -p tcp -m tcp --dport 8200 -m comment --comment !fw3: Allow-MiniDLNA-From-Secondary-Subnet -j zone_lan_dest_ACCEPT20250212 - 给弟家的盒子做照片备份1, 盒上插上移动硬盘会看到设置名 /dev/sda1 rootonecloud:~# fdisk -l |grep sd Disk /dev/sda: 465.76 GiB, 500105740288 bytes, 976769024 sectors /dev/sda1 2048 976769023 976766976 465.8G 7 HPFS/NTFS/exFAT rootonecloud:~# blkid /dev/sda1 /dev/sda1: LABELPENDRIVE BLOCK_SIZE512 UUID0EBE1831BE181435 TYPEntfs PARTUUID00029aa0-01 加载硬盘 mkdir -p /bak echo UUID0EBE1831BE181435 /bak ntfs defaults 0 0 /etc/fstab mount -a ls /bak 2, 盒子上安装samba apt update apt install samba -y cp /etc/samba/smb.conf /etc/samba/smb.conf_bak vim /etc/samba/smb.conf [bak] comment bak path /bak writable yes browseable yes guest ok yes 添加用户密码password) useradd -s /sbin/nologin nasadmin smbpasswd -a nasadmin 重启服务 systemctl enable smbd systemctl restart smbd (可选)在linux上测试 sudo apt install smbclient -y smbclient -L //192.168.98.132 -U nasadmin smbclient -U nasadmin%password //192.168.98.132/bak -c ls sudo mount -t cifs -o vers2.0,usernamenasadmin,passwordpassword,uid$(id -u),gid$(id -g),forceuid,forcegid //192.168.98.132/bak /mnt/share sudo mount -t cifs -o usernamenasadmin,passwordpassword,uid$(id -u),gid$(id -g),forceuid,forcegid //192.168.98.132/bak /mnt/share (可选)在win11上测试(未测试): 直接在文件浏览器的地址栏输入: \\192.168.98.132\bak 若需要用户名和密码的话是nasadmin/password 3, 盒子上安装dlna apt install minidlna -y cat EOF |sudo tee -a /etc/minidlna.conf #A for audio, V for audio, P for images media_dirPV,/bak/photo friendly_namebingDLNA network_interfaceeth0 inotifyyes EOF systemctl restart minidlna systemctl enable minidlna minidlnad -R #use vlc for android as client, and status page is: http://192.168.98.132:8200/ 4, 在盒子上安装了one dns tool systemctl restart ss_dns 使用步骤 a, 统一将照片存储在samba上 (windows与linux连接samba的步骤见上面 b, 通过rsync命令可以将samba上照片分发到其他电脑上, 注意1--delete参数有可能删除原有的照片 若不熟悉rsync命令慎用 注意2: windows上安装git也可有rsync命令 rsync -avztur --progress /bak/photo/ ~/photo rsync -avztur --progress --delete /bak/photo/ ~/photo rsync -avztur --progress --delete --exclude film /bak/photo/ ~/photo c, 若不想通过ssh网络来运行rsync上的话实际上盒子上有两个usb口可以在另一个usb口上也插入另一个移动硬盘(如是/dev/sda2), 将/dev/sda1上的文件备份到/dev/sda2上的命令如下 mount /dev/sda1 /bak mount /dev/sda2 /mnt/sda2 rsync -avztur --progress /bak/photo/ /mnt/sda2/photo20250215 - 备份我的系统#backup my working machine rsync -av --progress \ --include.ssh/*** \ --include.bashrc \ --include.sesame/*** \ --include.gitconfig* \ --include.gnupg/*** \ --include.ss*/** \ --include.vim*/** \ --includemygpgkey* \ --include*novarc \ --include*.txt \ --include*.sh \ --exclude* \ /home/hua/ /nas/bak/home_backup/ sudo rsync -av --progress \ --includerc.local \ --includednsmasq.conf \ --includednsmasq*/*** \ --includefstab \ --includeauto.direct \ --includeauto.master \ --includebash*/*** \ --includenetplan/*** \ --includeresolv.conf \ --includesystemd/ \ --includesystemd/resolved.conf \ --includesystemd/system/ \ --includesystemd/system/ss* \ --exclude* /etc/ /nas/bak/etc_backup/ crontab -l /nas/bak/crontab_backup.txt dpkg --get-selections /nas/bak/package_list.txt #backup my router scp rootgw:/root/* /nas/bak/gw/ mkdir -p /nas/bak/gw/etc scp -r rootgw:/etc/config /nas/bak/gw/etc/ scp -r rootgw:/etc/init.d /nas/bak/gw/etc scp -r rootgw:/etc/firewall.user /nas/bak/gw/etc/ ssh rootgw -- crontab -l /nas/bak/gw/gw_crontab_backup.txt #backup my box scp rootproxy:/root/* /nas/bak/proxy/ ssh rootproxy -- crontab -l /nas/bak/proxy/proxy_crontab_backup.txt rsync -av --progress -e ssh --include.ssh/*** --include.bashrc --include.sesame/*** --exclude* rootproxy:/root/ /nas/bak/proxy/ mkdir -p /nas/bak/proxy/etc rsync -av --progress -e ssh \ --includerc.local \ --includednsmasq.conf \ --includednsmasq*/*** \ --includefstab \ --includeauto.direct \ --includeauto.master \ --includebash*/*** \ --includenetplan/*** \ --includeresolv.conf \ --includesystemd/ \ --includesystemd/resolved.conf \ --includesystemd/system/ \ --includesystemd/system/ss* \ --exclude* rootproxy:/etc/ /nas/bak/proxy/etc/ #mobiledisk is on minipc sudo mount /dev/sdb1 /bak_mobiledisk/ rsync -avztur --progress --delete --exclude .Trash-1000 /nas/ /bak_mobiledisk20250319 - 大唐nuc从win11改安装飞牛nas系统 - fnOS先将大唐nuc上的win11备份 将win11的C, D, EFI bootable等分区通过win11自带的备份工具控制面板 - 系统和安全 - 备份和还原Windows 7)备份到了移动硬盘的第二个分区上(里名为WindowsImageBackup往移动硬盘备份时报此驱动器已毁坏请用磁盘检查(先在移动硬盘的该盘上点右键然后在工具栏里修复该驱动器即可。今后恢复时从启动盘启动(傲梅备份里的工具菜单里就有制作启动盘的选项以前的大白菜也行然后从高级选项 - 系统映像恢复 即可 https://www.abackup.com/easybackup-tutorials/migrate-the-entire-c-drive-to-another-hard-drive-6540.htmldocker run -d \ --name feishu-p2p \ --cap-addALL \ --privilegedtrue \ -v $(pwd)/conf:/data/conf/ \ -v $(pwd)/logs:/data/logs/ \ --device/dev/net/tun \ --restartalways \ --networkhost \ registry.cn-qingdao.aliyuncs.com/feishuwg/p2p:v2.2 #visit IP:9091 to up the device设置fnos影视使用外接盘的讲究:第一要注意的是要用fnos网页端而不是手机端它会比手机端的功能更全如对影视来源目录的权限控制等设置影视允许的文件夹 (网页端 - 应用设置 - 影视 - 允许文件夹 -/vol00/TOSHIBA_MQ01ABD100M/nas_mirror/photo - read only)设置外接盘所有用户可见 文件管理-设置-外部设备权限 所有账号可见)打开影视后在影视自己的设置中继续设置“新增媒体库 (只有设置了上面一步这步才能看见外接盘)普通用户若无法看到管理员共享的影视内容需要在‘网页端 - 影视 - 设置 - 用户’设置普通用户有使用影视库的权限飞牛fnos与威联通nas的联动方式如下1, 通过autofs将威联通nas挂载到fnos上。注意似乎威联通的nas有个bug似乎匿名登录时也具有可写权限试过很多次未成功。 rootfnos:~# cat /etc/auto.direct /nas -fstypenfs,nfsvers4,rw,usernameadmin,passwordxxx,rsize32768,wsize32768 nas.lan:/Public 2, 在影视中只读使用/vol00/TOSHIBA_MQ01ABD100M/nas_mirror/photo在影视允许文件夹处可设置只读模式), 及内置盘上创建photo_hua与photo_ivy两个目录。注意由于发现fnos远程挂载时时断时续, 所以将数据从nas上拉到外接盘上再用也算外接盘上额外多个备份吧。 3, fnos上有两个盘(内置盘与外接移动硬盘), 内置盘上创建photo_hua与photo_ivy两个目录(定期往nas.lan:/Public/photo同步后删除这两目录内的内容)设置相互共享用于日常与手机相册备份。fnos上的影视设置3个目录(/vol00/TOSHIBA_MQ01ABD100M/nas_mirror/photo, photo_hua, photo_ivy). 4, 将photo_hua与photo_ivy两个目录的照片往威联通的nas可在fnos的ssh中通过该命令进行 mv /vol1/1000/photo_hua/DCIM/* /nas/photo/ 5, 将威联通的nas挂载到其他机器的/nas再统一照片查重 (因为使用fnos的相片同时时手机上删除一张相片之后fnos相册里不会自动删除)今后看看fnos上是否支持照片AI自动去重目前发现的fnos的一些问题fnos相册备份一次之后若换了个盘不会重新备份需卸载相册和数据再重装再重新备份相册. fnso影视也存在同一问题换硬盘后数据不更新。 手机上删除一张相片之后fnos相册里不会自动删除 fnos影视无法设置内置盘以外的目录(如nas目录如外置盘) fnos文件备份不支持nas协议但支持samba但我的威联通nas上启动samba有些困难 fnos远程挂载时时断时续 fnos目前不支持照片去重. 但我的三星s24手机支持本地去重在相册中打开右下角的三个点中点建议. 有通过 MT Photos来去重的方法 - https://mtmt.tech/docs/example/fnnas/使用samba的一些测试命令如下sudo apt install cifs-utils -y smbclient -L //nas -U admin%nanting413 sudo mount -t cifs -o vers2.0,usernameshare,passwordxxx //192.168.99.238/Multimedia /mnt/nas sudo mount -t cifs -o vers2.0,usernameadmin,passwordxxx,uid$(id -u),gid$(id -g),forceuid,forcegid //192.168.99.238/Public /mnt/nas sudo mount -t cifs -o vers3.0,usernameadmin,passwordxxx,uid$(id -u),gid$(id -g),forceuid,forcegid //192.168.99.238/Public /mnt/win #fnos is fat format so adding --no-owner --no-group to bypass the error rsync chown Operation not permitted #and adding --temp-dir/root/data to bypass rsync mkstemp failed because rsync may has no permission to access /tmp rsync -avztur --progress --delete --temp-dir/root/data --no-owner --no-group --exclude.Thumbs.db --exclude.Trash-1000 /nas/ /vol00/TOSHIBA_MQ01ABD100M/nas_mirror用了一段时间的飞牛后感觉对我来说一个nas最重要的是下面这些点照片自动去重功能如联想的便宜的t2s都支持远程内网映射功能华为的nas就不怎么支持备份照片时如果手机上删除nas上也应该同步删除fnos就不支持 (如何做到双向同步呢除了备份手机照片还能备份通信录吗剩下的是类似fnos的影视功能支持ssh吗绿联是支持的联想不支持docker功能可以扩展应用虚机功能要玩虚机一般cpu都是不行的哪怕是n100AI功能更奢侈cpu性能不够用散热问题syncthing使用 - 使用Syncthing将移动设备的文件单向备份到PC - https://zhouym.tech/2021/Syncthing/1, fnos与s24 cellphone上都安装synthing 2, 相互添加远程设备例如在fnos上添加远程设备(http://192.168.99.206:8384/)设备ID从手机上找设备ID即可。反之亦然手机上也添加fnos的远程设备(叫fnos) 3, 手机上添加一个相册的共享文件夹 /storage/emulated/0/DCIM, 注意此时在文件夹里必须将fnos前的勾打上才会同步的。fnos端无须添加 4, 同步后fnos上会自动出现一个文件夹(/vol1/appdata/syncthing/nma2s-uo7jh) 5, fnos端在文件夹的高级处可选文件夹的类型为仅接收单向同步。手机端无法设置 6, 上面设置出来的默认的是手机端删除文件时fnos端也会删除若想不删除需要在fnos端右上角的操作-高级-文件夹-Ignore Delete前打勾 7, 缺点就是synthing/vol1/appdata/syncthing/nma2s-uo7jh与fnos自带相册用了不用的目录/vol1/photo_hua), 这样也行备份时备份synthing目录即可photo_hua仅用于做fnos影视. 8, 或者针对上一步将synthing直接弄在要最终备份的威联通nas上省了今后专门备份的步骤, 但QNAP NAS上无syncthing, 但有类似的resilio sync 它不仅可以实现同样的功能还能做分布式网盘使用。使用resilio sync的步骤如下1, 在手机的resilio sync上输入设备名s24, 然后创建一个文件夹指向相机目录(/storage/emulated/0/DCIM/Camera 默认是它但也要重新选择一下让它的名字是Camera)复制链接然后在共享设置里改为只读模式和仅限wifi 2, 在nas端的resilio sync上输入设备名fnos, 然后点加号-输入密钥或链接然后保存到/share/Public/photo/resilioSync/hua_s24 3, 此时显示等待批准那继续在手机端的文件夹右边点进去最下面有一个“首选项-预定义主机填上nas的IP和端口端口在nas端的resilio sync的”设置-高级处能查看18645 4, 然后手机端处会弹出一个通知点批准即可开始同步 5, 但网上说resilio sync在国内只能在局域网用(国外公司开发服务器IPv4被封了, 另外它还有一个预定义的局载网IP, 想外网用的话可能需要使用tailscale, 不过我也没有外面同步手机照片的需求), 国内的话推荐微力同步(中国企业开发闭源,但我的qnap不支持)和syncthing(开源, 我的qnap上也不支持) 6, 但是resilio sync也不支持手机上删除后nas端同步删除的功能可能是在收费版本里吧不清楚放弃。看样子只有syncthing支持这一功能rsyncthing在媳妇的鸿蒙系统上总是动不动就显示离线用不了所以继续研究微力同步微力同步的使用和resilio sync一模一样(因为它就是在resilio上套的壳):1, 先手机上创建一个相册的备份目录设置为仅发送和只读密钥), 然后将密钥拷贝 2, 在fnos根据密钥新建一个同步即可(它比resilio sync多了个“忽略删除”选项默认就是可以手机删除照片后nas端同步删除的)。此时会遇到一个bug, 微力同步 无法加载您指定的路径 (mkdir -p /vol1/verysync/hua chown -R verysync /vol1/verysync , 然后输入/vol1后直接按回车)鉴于这几个限制1fnos相册与resilio sync均不支持手机删照片后nas同步(绿联和联想nas也不支持), 目前测试只有rsynthing与微力同步支持 但鸿蒙手机上rsynthing问题多 2但my qnap不支持rsynthing与微力同步, 所以将qnap与fnos的联通流程改为如下1, 手机上还是通过微力同步与fnos同步到/vol1/verysync/hua目录手机删除照片该目录同步删除今后备份数据时直接将该目录备份到my qnap 2, 在fnos影视中设置两个目录(/vol1/verysync与/vol00/TOSHIBA_MQ01ABD100M/nas_mirror/photo一是在应用中心-已安装应用-影视-允许文件夹中设置二是在影视-设置-媒体库管理-媒体库设置中设置) 3, 这样fnos相册同不同步就无所谓了那就再同步一次吧权当个备份(手机删除了它不删的). 4, 定期将/vol1/verysync下的照片目录往qnap上在fnos上通过rsync命令同步定期将qnap上的照片往/vol00/TOSHIBA_MQ01ABD100M/nas_mirror/photo同步20250326 - fnos上通过alist使用夸克, 百度1, fnos上安装alist网络登录(admin/alist)后点“管理”后能修改密码.2, 点“存储-添加-驱动-选夸克, 获取cookie的方法登录pan.quark.cn后按ctrlshiftI进入开发者模式network-Fetch/XHR随便点一个链接出来headers再找cookie将它整个复制填进去就行), 挂载到/quark_disk(今后网盘多了用于区分名字)3, 然后通过飞牛文件管理-远程挂载-挂载远程文件夹-WebDev然后填入alist的IP, 端口5244, 用户名和密码, 挂载路径必须填/dav即可 (挂载webdav的挂载点/dav之后像/dav/quark_disk与/dav_baidu_disk就都在里面了)ls /vol02/1000-1-eda8e402/ rootfnos:~# mount |grep dav 1000-1-eda8e402{Q1VxD}:dav on /vol02/1000-1-eda8e402 type fuse.rclone (rw,nosuid,nodev,relatime,user_id0,group_id0,default_permissions,allow_other)若用ls /vol02/1000-1-eda8e402/显示中文乱码是需要将终端的编码从en_US.UTF-8切换成zh_CN.UTF-8 (dpkg-reconfigure locales export LANGzh_CN.UTF-8)下载方法如下alias rscprsync -v -P -e ssh alias rcprsync -avz --progress rsync -avh --progress /vol02/1000-1-eda8e402/quark_disk/来自分享/Win11_23H2_Chinese_Simplified_x64.iso /vol1/1000/alist挂载百度网盘, 通过这个网页获取令牌( https://alist.nn.ci/zh/guide/drivers/baidu.html#%E5%88%B7%E6%96%B0%E4%BB%A4%E7%89%8C ), 照上面的第2步做完就行了(挂载到/baidu_disk, 使用302重定向)接着可以使用“ls /vol02/1000-1-eda8e402/baidu_disk/”。上面第3步不是必须的另外上面挂载夸克时已经在fnos里远程挂载了注意几点在上面的第3步这块可以填本地代理也可以填302重定向 (也就是绕过alist所在的机器直接将文件下载到正在浏览alist网页的设备),还有的的网盘可能使用302重定向不限速。另外 据说天翼云盘通过alist挂载不限速 (它挂载更简单不需要通过cookie, 直接用用户名和密码 ls /vol02/1000-1-eda8e402/189_disk/)fnos里支持对百度网盘与阿里云盘的远程挂载不需要通过alistwebdav的方式远程挂载20250327 - use openwrt on fnosip link set enp1s0-ovs promisc on docker network create -d macvlan --subnet192.168.99.0/24 --gateway192.168.99.1 -o parentenp1s0-ovs openwrt docker pull sulinggg/openwrt:x86_64 docker run --restart always --name openwrt -d --network openwrt --privileged sulinggg/openwrt:x86_64 /sbin/init docker exec -ti openwrt bash vim /etc/config/network :%s/192.168.123/192.168.99/g /etc/init.d/network restart #access http://192.168.99.10020250327 - use win11 on fnos在fnos上安装win11虚机时需Shift F10 打开命令行界面REG ADD HKLM\SYSTEM\Setup\LabConfig /v BypassTPMCheck /t REG_DWORD /d 1 REG ADD HKLM\SYSTEM\Setup\LabConfig /v BypassSecureBootCheck /t REG_DWORD /d 1密钥的处理slmgr /ipk SN slmgr /skms kms.03k.org slmgr /ato通过remmina时无法使用远程用户的holo登录使用本地用户:net user hua password /add net localgroup Administrator hua /ADD net user Administrator /active:no20250327 - use samba on fnos用自带的samba总是不work所以我最终改成了下列配置:smbpasswd root rootfnos:~# pdbedit -L root:0:root rootfnos:~# cat /etc/samba/smb.conf [global] netbios name fnos #interfaces lo br-lan server string fnos unix charset UTF-8 workgroup WORKGROUP bind interfaces only yes deadtime 30 enable core files no local master yes map to guest Bad User max protocol SMB3 min receivefile size 16384 passdb backend smbpasswd # run smbpasswd root to set pass for root, we also need to comment invalid usersroot #invalid users root security user smb passwd file /etc/samba/smbpasswd socket options TCP_NODELAY IPTOS_LOWDELAY use sendfile yes [share] path /vol1/1000/share read only no guest ok yes create mask 0666 directory mask 0777 browseable yes public yes admin users root valid users root注意上面未使用‘valid users root’时在win11的文件夹的地址栏输入\192.168.99.206直接就进去了但在文件夹里建立固定映射时却总提示输入密码怎么输也输不对。后来加了valid users root这句之后发现建立固定映射时一定要输入\192.168.99.206\share, 而不能是\192.168.99.206否则会输入密码怎么也说不对。thinkpad yoga装有ubuntu合盖之后无法启动thinkpad yoga在使用ubuntu 24.04系统时现在发现合盖后就无法再恢复了必须得长按电源键重启才行。还发现即使按poweroff也无法关机(灯是亮的, 也必须长按电源键才能真正灭灯真正关机).之前使用ubuntu 20.04系统时发现用HandleLidSwitchhibernate可作为workaround但现在升级到ubuntu 24.04时发现只能用HandleLidSwitchignore作为workaround了默认的suspend是 suspend-to-mem, 而hibernate是suspend-to-disk. 目前做的测试有1, 使用hwe kernel(sudo apt install linux-generic-hwe-24.04), not work2, 使用hibernate(sudo systemctl hibernate), not work3, Grub中设置mem_sleep_defaults2idle, not work (deepSuspend-to-RAM(S3)适用传统设置s2idleSuspendto-Idle(S0ix)适用现代设备platform意为由硬件自动适配, 使用cat /sys/power/mem_sleep查看当前值)4, BIOS中找不到Suspend to RAM(S3)与Wake on Lid Open两个设置项5, Grub中设置mem_sleep_defaultdeep acpi_sleepnonvs, not work6, 试了安装laptop-mode-tools然后设置ENABLE_LAPTOP_MODE_ON_AC1 ENABLE_LAPTOP_MODE_ON_BATTERY1, not work7, grep -i “CONFIG_PM_SLEEP_S2RAM” /boot/config-(uname−r)的输出为空,S3是依赖该内核项的8,最后不得已用这个workaroud,在/etc/systemd/logind.conf中设置HandleLidSwitchignore与HandleLidSwitchExternalPowerignore(连接外接电源时合盖,然后重启(systemctlrestartsystemd−logind),若还想不休眠但息屏的话可加grub参数(consoleblank30)9,目前用的是wayland((uname -r) 的输出为空, S3是依赖该内核项的 8, 最后不得已用这个workaroud, 在/etc/systemd/logind.conf中设置HandleLidSwitchignore 与 HandleLidSwitchExternalPowerignore (连接外接电源时合盖, 然后重启(systemctl restart systemd-logind), 若还想不休眠但息屏的话可加grub参数(consoleblank30) 9, 目前用的是wayland((uname−r)的输出为空,S3是依赖该内核项的8,最后不得已用这个workaroud,在/etc/systemd/logind.conf中设置HandleLidSwitchignore与HandleLidSwitchExternalPowerignore(连接外接电源时合盖,然后重启(systemctlrestartsystemd−logind),若还想不休眠但息屏的话可加grub参数(consoleblank30)9,目前用的是wayland(XDG_SESSION_TYPE), 改成x11也not work(sudo sed -i ‘s/#WaylandEnabletrue/WaylandEnablefalse/g’ /etc/gdm3/custom.conf sudo systemctl restart gdm3 echo $XDG_SESSION_TYPE). 在用x11时也注意观察之前遇到的两个bug是否会重现(有两个显示器使用wayland支持只共享单个屏幕, gdm3在t440p上经常会发生login loop的问题)**20250520更新**今天将ubuntu 20.04升级到了24.04之后上面用HandleLidSwitchhibernate的workaround就不行了只能改用HandleLidSwitchignore, 但是这仅是针对合盖的而poweroff和shutdown -h now命令依然会遇到这个奇葩问题。试了网上几乎所有方法均不好使。于是打算用国产的deepin但是那玩意安装之后有grub方面的bug。于是将ubuntu 24.04再重新安装到ubuntu 20.04, 居然不用workaround就啥问题没有了。看来我这个thinkpad x1 yoga只能最多使用ubuntu 20.0420260726 Update: 今天使用ubuntu 20.04关机之后灯仍然亮原因是因为’e1000e 0000:00:1f.6 enp0s31f6: Failed to disable ULP用下列命令解决了问题sudo ip link set enp0s31f6 down sudo modprobe -r e1000e sudo poweroffmi laptop pro的休眠问题小米笔记本安装ubuntu 24.04后无论是用lightdm(用它打开shell时会很慢)还是wayland都在登录窗口得有时候输入三次密码才能登录。日志显示和nvidia-resume有关。$ journalctl -b -1 | grep -i hibernate\|resume kernel: usb 1-6: PM: failed to resume async: error -107 systemd[1]: Starting nvidia-resume.service - NVIDIA system resume actions... suspend[921406]: nvidia-resume.service logger[921406]: 13May 30 07:54:06 suspend: nvidia-resume.service systemd[1]: nvidia-resume.service: Deactivated successfully. systemd[1]: Finished nvidia-resume.service - NVIDIA system resume actions.想将suspend(mem)切换成hibernate模式(disk), 总是报这个错“Call to Hibernate failed: Sleep verb ‘hibernate’ is not configured or configuration is not supported by kernel” 在grub中添加了resumeUUID且运行sudo update-initramfs -c -k all还是一样检查/sys/power/state显示还是没有diskhuami:~$ cat /sys/power/state freeze mem使用hwe kernel也是问题依旧sudo apt install linux-generic-hwe-24.04但将蓝牙鼠标换成usb鼠标似乎通过usb鼠标的提前唤醒这样在蓝牙键盘在登录界面输入密码后的成功率会高得多。