Blogs

好用的linux远程桌面

vnc,rdp,等等, 都不尽如人意,前几天发现了一个好用的开源的远程桌面,

x2go , x2go基于nx协议,通过ssh进行远程桌面登录,在debian下使用很简单,

在远程系统装server

apt install x2goserver  x2goserver-xsession

然后装一个x2go支持的桌面, 比如kde, xfce

apt install xfce4

远程系统开用户帐号:

useradd liushiwei

在手边的机器装client

apt install x2goclient

然后执行x2goclient,建立链接, 选择远程桌面xfce,也可以只读方式或着共享控制方式打开远程桌面

硬盘解锁

硬盘有个功能可以整盘锁定, 用hdparm -I /dev/sda 可以看到 Security 段有提示 locked,

这里可以使用硬盘的master密码进行解锁:

hdparm --user-master m --security-unlock ***** /dev/sda

hdparm --user-master m --security-disable ****** /dev/sda


master密码清单:

loongarch龙芯架构即将于2022-06-04进入Linux

如果不出意外(一般也不会有意外),明天,2022-06-04,龙芯的新架构,将进入Linux-next分支,进入Linux-5.19,
几个国家的开发人员通力合作的结果。
感谢 chenhuacai,xen0n,superhacker,flygoat,arnd,ardb,marc,linus
进入Linux后,其它的人就可以开始干活了,基于新世界的大厦,就要这么立起来了。

感谢阿里和腾讯,增加对本站开源镜像目录的同步支持

至此,有四家大学,二家公司的开源镜像服务器对我们的目录进行了镜像 一并感谢:

中科大:

http://mirrors.ustc.edu.cn/bjlx

http://mirrors.ustc.edu.cn/loongson

清华:

用dd复制btrfs分区后的调整

btrfs分区, 在有很多快照和子卷的情况下, 用dd来做复制, 是最快速的。但是dd会造成分区的uuid重复, 在系统中造成混乱。

这时候需要修改一下新的btrfs分区的uuid, btrfs命令没有提供修改uuid的功能,需要用btrfstune命令来修改 uuid

对于内核大于5的时候, 使用

元旦期间,做了一个openwrt程序,域名路由

一般的路由, 是按照目标设置的, linux下的iproute2可以基于来路, 网卡,iptables MASK, 设置路由规则。

而域名路由(https://github.com/lshw/dnsmasq_route)程序, 可以实现基于域名的路由设置。 实现流量优化, 

它读取dnsmasq的日志输出, 进行分析,提取需要转发的目标地址.

附件是newifiD2设备的ipk程序, 可以在openwrt 19+ 安装使用,

程序只负责路由转发设置,大家可以使用各种方式, 建立自己的链路。

dnsmasq_route

debian系统从32位(i386)升级到64位(amd64)

debian从32位i386,更换到64位amd64的步骤
 
debian支持32/64位共存, 先添加amd64支持, 然后安装
 
1.安装debootstrap , 用来获取基本软件包的deb文件
  apt install debootstrap
 
2.获取基础软件包的deb文件
  mkdir /home/debian10
  debootstrap /home/debian10 buster http://mirrors.cloud.tencent.com/debian
  mkdir /home/deb
  mv /home/debian10/var/cache/apt/archives/*.deb /home/deb
  rm -rf /home/debian10
 

arduino esp8266的异常0 错误 Exception (0):

arduino的esp8266开发板, 经常会出异常零错误,这个错误是非法指令错, 非法指令错, 一般是程序跑飞了,去错误的地点执行指令,

我这里遇到的不是这样,以前编译运行很好的程序, 现在怎么编译都会出异常0错误,  更换了esp8266 的SDK版本, 从2.4.2, 2.5.2, 2.7.3, 3.0.2 , 都出现异常,最后仔细研究了一下异常信息, 才找到原因,问题出在编译器。

使用backuppc对window10进行备份时,用户认证问题

backuppc是个跨平台的备份软件,支持各种文件协议,
在window10里开目录共享, 然后让backuppc用smb协议进行抓取, 前几天无故出现用户认证不过的问题。然后用smbclient 命令行进行测试,
smbclient //192.168.x.x/work -U backuser%passwd
发现window10一直报用户密码认证错误, 而要想开window的带密码的目录共享服务,必须要在windows里开对应的用户名和密码,然后linux登录上来,就是用这个用户名和密码。 用google搜索并尝试了各种修改方案, 都 不奏效,

最后,对win10的本地安全策略的安全选项下,的网络访问部分选项逐一进行检查, 发现一个选项可能是相关的, 修改后, 一切正常

 

问题:  用smbclient用正确的用户名和密码,网络登录 win10,报错:
session setup failed: NT_STATUS_LOGON_FAILURE
解决方法:

openwrt 21.02 newifiD2, 交换机开始使用dsa方式, 如何进行vlan-id设置

mt7621 的newifiD2, 在openwrt21.02交换机设置换成了dsa模式,原有的swconfig 没有了, 在接口菜单上就没有了交换机选项。 现在4个端口,都被做成了独立的lan1,lan2,lan3,lan4

在端口菜单,增加了一个设备子菜单, 在里面可以用网桥来分配端口, 另外生成树协议(Spanning Tree Protocol),也从接口改到了设备目录下,从17版升级到DSA模式21版的时候, 除了vlan设置会丢失外, STP设置也会丢失, 如果启用了mesh的话, STP设置没了,就可能会造成网络瘫痪。

如果是物理网口lan1-lan4, 设备里可以直接添加vlan端口, 如果是在网桥上建vlan,需要在网桥vlan过滤里,增加vlan的id

 

新版本的dsa模式, 实际上是把交换机的vlan设置固化了, 每个网口一个VLAN, 分为5个网口,  然后在驱动程序上屏蔽了交换机VLAN设置,把交换机当成5口网卡来使用。

 

如果需要用VLAN, 可以在网卡lan1-lan4上直接使用, 或者把几个网卡,组建成网桥, 然后网桥在分vlan , 网桥的vlan 再合并成网桥,

在gEDA 电路板设计软件中,增加汉字显示的方式

先用inkscape输入汉字, 生成eps矢量图形格式

然后用pstoedit 把 eps文件转成 pcb格式, 

pstoedit  -f pcbfill  /file.eps /file.pcb -ssp

ssp参数, 是为了把矢量图形的封闭空间里掏洞,否则封闭空间就会被填充为黑色,


修改完成后用gEDA的pcb打开file.pcb ,把文字剪切到0,0坐标,然后存盘,然后打开目标pcb文件, 用load layout to buffer 来载入file.pcb

如果载入是空的, 那么就是层不对, 需要根据目标pcb文件的层号, 去修改file.pcb的层号, 如果字是反的, 可以用mirror buffer菜单项,把字镜像一下, 通过修改层号, 可以把字放到top丝印层,bottom丝印层,元件面, 焊接面

 

ac1.png

debian10 php7.3 大量日志错误 “Warning: Use of undefined constant xxx”

这个提示的意思是 警告:使用了未定义的常量 xxxx, 将在下一个php版本, 把此警告升级为错误。
这挺吓人的,
以前, 大家在写php数组时, 字符串下标经常不加引号, 比如 $a[abc]; 规范的写法是 $a['abc'];
abc 不加引号, 就会有歧义, 这到底是个字符串, 还是一个定义了的常量。

大家需要在debian11(php7.4)之前, 把这个问题解决, 把以前的代码都过一遍。这很麻烦。
 

php 代码自动缩进命令行工具

php-codesniffer 这个软件, 提供2个工具:

phpcs  对php文件进行检查,列出不符合规范的情况
phpcs --colors --standard=PSR2 --exclude="Generic.Files.LineLength,PSR1.Methods.CamelCapsMethodName"  --encoding=utf-8 index.php

phpcbf 对php文件按照指定规范, 进行修正。
phpcbf --standard=PSR2 --encoding=utf-8 index.php

在debian下, 直接安装就可以了 apt install php-codesniffer

js插件 datatables 在使用 buttons excelHtml5 把表格导出成excel时, 比较长的数字内容往往会降低精度,后面几位变成0,或者变成科学计数法

比如身份证号码, 会被变成科学计数法, 或者把最后几位变成0,
因为在datatables在处理时, 会把纯数字的单元格,设为数字模式,这样就造成了问题。
这里给出一个解决方法 ,就是修改datatables.js  让它不处理长度超过15位的数字,让超过15位的数字, 保持文本格式

[code]

loongarch linux源码发布, 大家先睹为快吧

  https://github.com/lvjianmin-loongson/linux/tree/main/arch/loongarch

聚合内容