最近在测国产OS客户端部分。首先客户端程序在CentOS全部使用没毛病,但是CentOS桌面体验比较差。然后就试了UOS,在UOS上测试到打印这块花了很多时间,碰到问题是CUPS有反应,但是没生成PDF文件,各种试了好久没解决。就寻思着是不是OS问题,先换一个OS试试。
然后就下载了OpenKylin系统在虚拟机安装上试。开始安装dotnet5,发现没包。当时以为这个系统软件包太少,不完善就把虚拟机删了。然后安装了优麒麟测试也一样。后面就安装了个Ubuntu测试,发现Ubuntu上也没有DotNet包(看来冤枉他了)。本来寻思着在Ubuntu测试完了再搞OpenKylin的,Ubuntu上解决安装Dotnet5画了很久时间,默认apt-get安装的都是DotNet7了,跑5开发的程序有些小问题。后面安装cups也是个蛋疼的事,折腾很久就放弃了。
没办法又从麒麟官网下载个OpenKylin再安装虚拟机折腾。首先安装完虚拟机第一步就是改分辨率。我用的HyperV虚拟机。
先安装vim:
apt-get install vim
然后用vim修改/etc/default/grub
vim /etc/default/grub
修改这行:
GRUB_CMDLINE_LINUX_DEFAULT=“splash quiet video=hyperv_fb:1600x900”
修改之后执行:
sudo update-grub
sudo shutdown -r now
这样就把分辨率改正常了,远程看就是个正常桌面了。然后就是安装dotnet5了,由于5不是现在支持版本了,所以用apt命令很难安装。要么没包,要么安装最新的dotnet7了。所以采用离线安装。从微软官网下载编译的二进制包。解压得到下图:
实现安装脚本,这样就可以把dotnet5安装上。
#!/bin/bash
#shell放在网站上供在线执行下载和初步部署网站等
#20210704
#zlz
#----------------------------------------------------------
if [ ! -f /usr/bin/dotnet ];then
if ! type dotnet >/dev/null 2>&1; then
mypath=$(dirname $0)
echo "没安装dotnet,进行离线安装"
mkdir -p /usr/share/dotnet
cp -r ${mypath}/dotnet /usr/share
ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
chmod +x /usr/bin/dotnet
ln -s /usr/share/dotnet/dotnet /snap/bin/dotnet
chmod +x /snap/bin/dotnet
fi
fi
这里涉及到Windows通过filezilia连接麒麟系统。由于Ubuntu系列默认禁用了root用户和root登录,所以需要自己放开。执行下面指令。
安装ssh
sudo apt-get install openssh-server
授权
sudo ps -e |grep ssh
启动ssh服务
sudo service ssh start
设置root密码
sudo passwd root
安装vim,这里是ubuntu下vi俺不会编辑
apt-get install vim
用vim修改ssh配置
sudo vim /etc/ssh/sshd_config
放开下面两项
PremitRootLogin yes
StrictModes yes
保存之后重启ssh,这样Windows就能正常连上去了
sudo service ssh stop
sudo service ssh start
然后就安装cups。
先执行安装cups服务:
sudo apt update
sudo apt-get install cups
sudo systemctl start cups
sudo systemctl enable cups
sudo systemctl status cups
这时候就把cups服务安装好了。这时候到OpenKylin打印机管理里添加打印机没有可添加的。这里我对cups误解了。我一直把cups当做虚拟打印机。实际cups是通用打印服务。cups-pdf才是PDF虚拟打印机。这个问题耽搁了两周。想通之后我就查cups-pdf的包。按网上的执行sudo apt-get install cups-pdf都提示没这个包。为此换思路了,不用包管理器安装了,自己下载Ubuntu的包。
选择的版本是“Ubuntu 20.04 LTS (Focal Fossa)Ubuntu Universe amd64”直接下载包运行安装,我开始下载比这个版本高的Ubuntu包安装失败,自己按版本对标。
然后和上面一样安装dotnetcore依赖的libgdiplus包
安装cups-pdf之后就能在麒麟打印管理器添加cups-pdf虚拟打印机了。然后环境就搞完了,可以测试程序了。真是一趟折腾的探索,花了三周才搞定。总共试了uos,openkylin,UbuntuKylin,Ubuntu。电脑磁盘都快搞废了。所以遇事得冷静,手脑共用,实在不通的时候试着缓缓过几天可能就悟到了。
天选小码农一个。想当年填自愿填了几个医科大学,药大备用。然后药大选药学、生物制药这些专业。表示完全不想学计算机啊。最后竟然莫名去了药大,还被调剂个信息管理与信息系统专业,坑爹的是信息专业竟然不怎么信息。大概就是注定吧,没浪费当年常年不下270的理科综合,摸索10年总算从C#的winform走上个主流。