最终目标是在手机上安装打印机驱动, 用手机里的 PHP,java 程序通过 type c(micro usb) 口直连调用打印机.
使用的打印机是爱普生 R330,CUPS 里自动的驱动可以完成简单的打印任务, 但当打印设置过于复杂时就会出问题. 爱普生官方提供了 Linux 版的 R330 驱动 https://epson.com/Support/wa00821 , 但只有 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 http://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
- 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 language-pack-zh-hans language-pack-zh-hans-base
Eclispe java 项目的编码在 Windows 下是 GBK, 改成 UTF-8
设置 Ubuntu 字符集
- [email protected]:~$ 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 www.google.cn"
7.0 之前不支持 https, 所有不能用 baidu 作为 server
epson 打印机 清洗打印头
- # escputil --raw-device /dev/usb/lp0 --clean-head
- # escputil --raw-device /dev/usb/lp0 --nozzle-check
- http://manpages.ubuntu.com/manpages/bionic/man1/escputil.1.html
配置自动启动项
- /etc/init.d/avahi-daemon restart
- /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
参考: 如何在安卓手机上安装 Linux 系统
来源: http://www.webhek.com/post/ubuntu-16-04-php-cups-epson-r330.html