前言之前提到过当前公司正在进行国产化方面的东西,目前有个桌面软件需要迁移到Linux下,于是通过Avalonia UI实现了一下,具体实现过程还算顺利,跟WPF相比虽说有些差异但感觉可以接受,也可能跟本身项目不复杂有关,毕竟就三个窗口。在添加完桌面快捷方式之后遇到了点问题,于是就有了这篇日志。创建桌面快捷方式新建一个utf-8格式的文本,名称改为应用名称,后缀改为.desktop就可以了,为避免误人子弟,常用内容可参考这里,下面是例子:[Desktop Entry] Name=XXXX Type=Application Exec=/home/test/xxx Path=/home/test/xxx Icon=/home/text/xxx.png StartupNotify=true完了之后只要将该文件复制到桌面上就变成启动快捷方式了,如果想在开始菜单中或启动器中看到,就把该文件复制到/usr/share/applications目录中就可以了。也可以增加Categories指名应用分类,这样就可以出现在开始菜单或启动器中的不同分类下面了,具体分类可以参考这里路径问题正常项目启动时会生成
前言最近公司打算将操作系统迁移到Linux环境下,于是调研了一下现有引用类库的情况,项目中有个最主要的引用是国产的TLQ,多个项目引用了,看了一下TLQ的介绍,本身就是跨平台的,不过公司在用的是官方给的.net framework版本,本身不是跨平台的,经过协商,对方把源码发了过来,改为.net standard2.0也编译通过了,在Linux下却出问题了。Lib引用对于源码中所有P/invoke相关的将dll去掉,在Linux系统下,会自动查找lib开头的类库,如果仍然查找不到,就要设置类库的加载位置了,很简单,一共两种方式,一种是增加LD_LIBRARY_PATH的环境变量,一种是编辑/etc/ld.so.conf文件,增加类库目录,由于网上讲解很多,不再赘述。内存对齐遇到的最大问题是在Windows下一切正常,但是在Linux下会报段错误,第一次遇到的时候还很懵逼,后来查了一下原来是指针越界或重复释放内存之类的操作,刚开始的时候由于改动了代码,一直以为是自己改出来的问题,尝试了很多方式都一无所获,后来又经过协商才发现跟自己的改动完全没有关系,问题是出在了一个结构体上,这个结构体一
前言最近部署到linux的程序遇到段错误,网上查了一些原因,基本上看不出有用的东西出来,于是只能根据gdb进行排查。寻找core文件就是内存转储文件,程序崩溃时会自动提示:段错误(内核已转储),gdb调试的时候必须依赖转储文件才能调试。要进行调试还需要知道两个问题:core文件在哪以及为什么没有生成文件位置要查看文件在哪,可以直接执行 cat /proc/sys/kernel/core_pattern根据输出内容进行判断,如果为core则代表在执行文件同目录生成,如果为/usr/lib/systemd/systemd-coredump %P %u %g %s %t %e 则代表着被coredumpctl接管了,下面说一下如何从coredumpctl提取core文件,其实很简单#查看所有的内存转储文件 coredumpctl list #默认会显示出所有的内存转储文件,我们大部分关心的应该是最后一项,拿到pid后 coredumpctl -o core dump pid执行完之后就会在当前目录中生成core文件了,文件名可以自定义。文件没有生成默认系统是关闭core文件生成的,可以通
起因最近在论坛里看到有人部署的小说网站,感觉界面还挺好看,联想到之前DP家的100G硬盘的VPS,本来部署的图床,可惜不怎么用,就想折腾弄成小说站,话说也不能浪费了之前下载的15G的小说是吧。乱码问题本身用的是Java写的,就一个jar包很简单,直接放到VPS上启动,但是访问的时候总是提示:malformed input or input contains unmappable characters,后面跟着一个路径,一眼看上去路径最后的图片名都是????.jpg,很明显是编码问题,怎么解决呢?因为大部分的VPS用的都是debian的系统,于是查了一下,说是要配置中文,于是通过dpkg-reconfigure locales命令重新配置,并且默认选用zh_CN.UTF-8,但是依然不起作用,看了一下bashrc的配置,发现原来为了登录的时候不提示错误,配置的export LAN=C,改为zh_CN.UTF-8依然不起作用,为此还重启了一次。后来看到可以通过配置java的启动环境变量来配置java -Dfile.encoding="UTF-8" -Dsun.jnu.e
起因前一段时间发觉公司的网络是越来越差,一直怀疑是路由器性能不行,因为不但ping外网丢包,就连ping网关竟然也会丢包,可是在问了其他同事之后才发现竟然只有我自己会出现,于是感觉应该是网卡出问题了,于是在设备高级里瞎改了一通配置,发现毫无卵用,于是作罢。解决最近几天实在是受不了了,越是在你需要用网的时候越容易丢包,于是摸索了一下,设备是联想的E480,有点年头了,网卡是realtek rtl8822ce无线网卡,俗称的螃蟹卡,这两年也还有品牌在用。网上查了一下这个卡的问题还真是挺多的,看评论说是Windows更新跟卡的驱动有冲突,联想到了之前用联想软件升级驱动的事情,于是参考这里,下载了2024.0.8.127版本的驱动,发现貌似确实解决了丢包问题,虽然说还会时不时的ping值会变高一点,但是也相当稳定了。具体的下载方式是打开文中的链接,找到下面的Wireless,然后搜索rtl8822ce关键字,点开对应的链接,跳转到最后一页,然后再搜索2024.0.8.127版本就可以了,具体可以参考上面的链接。顺便看了一下联想官网的驱动版本,竟然只是2024.0.8.1,感觉像是小版本被截断了
hellojxl
作者很懒,不想介绍自己