在手机上安装Ubuntu、PHP环境、CUPS、爱普生R330打印机驱动纪要
最终目标是在手机上安装打印机驱动,用手机里的PHP、java程序通过type c(micro usb)口直连调用打印机。
使用的打印机是爱普生R330,CUPS里自动的驱动可以完成简单的打印任务,但当打印设置过于复杂时就会出问题。爱普生官方提供了linux版的R330驱动,但只有x86、amd64架构的。
目前大部分的手机CPU都是arm,我发现nokia n1平板,和小米平板2是使用的intel芯片,我这里使用的是nokia n1。
在线安装Ubuntu需要使用国内镜像,否则会很慢。
ubuntu armhf架构国内镜像
Ubuntu的armhf机构的代码并不在我们常见的目录,而是转移到了 ubuntu-ports 目录下。
https://mirrors.ustc.edu.cn/ubuntu-ports/
安装lsb
爱普生R330打印机的linux驱动依赖lsb3.2。但Ubuntu 16.04里没有lsb安装程序,解决的方法是使用上一版的程序库,安装完后再改回来。
sudo add-apt-repository "deb https://cz.archive.ubuntu.com/ubuntu trusty main" sudo apt-get update sudo apt-get install lsb-core
安装java
sudo apt-get install default-jre
安装 Lighttpd php-cgi
sudo apt-get install lighttpd php-cgi php-sqlite3 php-curl wget curl build-essential sudo lighty-enable-mod fastcgi sudo lighty-enable-mod fastcgi-php sudo service lighttpd force-reload
添加CUPS web访问管理员
安装CUPS会很顺利。
$ sudo usermod -aG lpadmin yourname
安装打印机配置应用
sudo apt-get install system-config-printer-gnome system-config-printer-common
linux java 中文文件名问题
首先系统要安装中文语言包
sudo apt-get -y install fonts-wqy-zenhei language-pack-zh-hans language-pack-zh-hans-base
Eclispe java项目的编码在windows下是GBK,改成UTF-8
设置ubuntu字符集
myubuntu@ubuntu:~$ sudo vi /etc/default/locale LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh" LC_ALL="zh_CN.UTF-8"
PHP里执行shell命令调用Java执行打印任务
在Ubuntu里apache的运行用户是www-data,
在php的里执行shell命令的用户也是www-data,可以使用 sudo -u username command 来切换用户,
但www-data没有这样的权限,解决办法,在
/etc/sudoers
文件里添加相应的记录
解决cups web界面里打印任务名不显示的问题。
原因是需要调整隐私设置
To display the job document file name and the user name: Edit /etc/cups/cupsd.conf: change JobPrivateValues default to JobPrivateValues none Restart cupsd: sudo /etc/init.d/cups restart
nokia n1 国行版改台版root后出现网络不自动连接的问题
刷机刷非大陆版会会出现网络不自动连接的问题
adb shell "settings put global captive_portal_server https://www.google.cn/generate_204"
如果这招不行,就用下面的
adb shell "settings put global captive_portal_detection_enabled 0"
7.0之前不支持https,所有不能用baidu作为server
epson打印机 清洗打印头
经过测试发现使用 –raw-device 不灵。这里使用–printer-name 可选。打印机名称到 /etc/cups/printers.conf 找
//检查喷嘴 打印喷嘴测试图 默认打印机 # escputil --nozzle-check --new //清洗打印头 默认打印机 # escputil --clean-head --new //检查喷嘴 打印喷嘴测试图 指定打印机 打印机名称到 /etc/cups/printers.conf 找 # escputil --nozzle-check --new --printer-name Epson_Stylus_Photo_R330 //清洗打印头 指定打印机 打印机名称到 /etc/cups/printers.conf 找 # escputil --clean-head --new --printer-name Epson_Stylus_Photo_R330 https://manpages.ubuntu.com/manpages/bionic/man1/escputil.1.html
配置自动启动项
/etc/init.d/cups start /etc/init.d/lighttpd start
零碎问题
sudo apt-get autoremove
com.dynamixsoftware.printershare 安卓打印
开源安卓打印框架 https://github.com/pelya/android-print-plugin-cups
这都当服务器用了
What a plaesure to meet someone who thinks so clearly