• OpenKylin适配和虚拟打印机


    最近在测国产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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    这里涉及到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包下载网站

    CUPS-PDF下载链接

    选择的版本是“Ubuntu 20.04 LTS (Focal Fossa)Ubuntu Universe amd64”直接下载包运行安装,我开始下载比这个版本高的Ubuntu包安装失败,自己按版本对标。在这里插入图片描述

    然后和上面一样安装dotnetcore依赖的libgdiplus包

    libgdiplus

    安装cups-pdf之后就能在麒麟打印管理器添加cups-pdf虚拟打印机了。然后环境就搞完了,可以测试程序了。真是一趟折腾的探索,花了三周才搞定。总共试了uos,openkylin,UbuntuKylin,Ubuntu。电脑磁盘都快搞废了。所以遇事得冷静,手脑共用,实在不通的时候试着缓缓过几天可能就悟到了。

    天选小码农一个。想当年填自愿填了几个医科大学,药大备用。然后药大选药学、生物制药这些专业。表示完全不想学计算机啊。最后竟然莫名去了药大,还被调剂个信息管理与信息系统专业,坑爹的是信息专业竟然不怎么信息。大概就是注定吧,没浪费当年常年不下270的理科综合,摸索10年总算从C#的winform走上个主流。

  • 相关阅读:
    STM32入门100步
    几张图帮你捋清“中国金融机构体系”
    Opencv 图像处理:数字图像的必会知识
    Pygame之滑稽球壁碰
    【JAVA并发】AQS原理详解
    CodeForces Round #535 (div.3) A~D
    最新 SpringCloud微服务技术栈实战教程 微服务保护 分布式事务 课后练习等
    Selenium4.0 + Python手撸自动化框架系列之 Web截图 与 封装
    新项目,Linux上一键安装MySQL,Redis,Nacos,Minio
    .[nicetomeetyou@onionmail.org].faust深入剖析勒索病毒及防范策略
  • 原文地址:https://blog.csdn.net/zhanglianzhu_91/article/details/127971386