分类 Linux 下的文章

[原创]在Manjaro Linux上安装brother-t420w打印机

个人原创,如有转载,请注明出处。——by realasking

最近到了一个大学工作,为了方便,自己买了一个Brother DCP-T420W打印机。这个打印机是墨仓式彩色打印和扫描复印一体机,并且支持无线打印功能.根据它的说明,在Windows 11、Realme GT Neo和Ubuntu 20.04上安装使用都非常方便。但是,我还有两台机器使用的是Manjaro Linux,官方没有提供相应的解决方案。这两天是五一假期,就试着折腾了一下,解决了这个问题。以下就是处理办法。

1.打印机设置

a. 在浏览器中输入打印机地址:192.168.0.105,然后输入管理密码完成登录。

192.168.0.105是我的打印机的地址,如果网友不知道自己打印机的地址的话,登录到你的路由器或Wifi的管理页面,查看连接设备即可。

b. 点击网络-服务,记录下服务名称

c. 点击网络-协议,点击LPD后的高级设置,勾选启用LPD标志,然后提交

2.驱动准备

a.从AUR上下载brother-dcpt520w的PKGBUILD和相关附加文件,并将brother-dcpt520w文件夹改名为brother-dcpt420w

b.将以下文件替换brother-dcpt420w中的文件:

PKGBUILD文件:

# Maintainer: none <[email protected]>
# Modified by realasking from brother-dcpt520w maintained by Chiwan Park 

pkgname=brother-dcpt420w
pkgver=3.5.0
pkgrel=1
pkgdesc="Driver for the Brother DCP-T420W wifi multifuncional printer"
url="http://solutions.brother.com/linux/en_us/index.html"
license=('custom:brother')
install="brother-dcpt420w.install"
arch=('i686' 'x86_64')
optdepends=('sane: scanning support'
            'brscan4: making dcpt420w available to sane'
            'brscan-skey: scankey support if connected via usb')

if [[ "$CARCH" == "x86_64" ]] ; then
  depends=('a2ps' 'cups' 'lib32-glibc')
elif [[ "$CARCH" == "i686" ]] ; then
  depends=('a2ps' 'cups')
fi

source=(
  "https://download.brother.com/welcome/dlf105168/dcpt420wpdrv-3.5.0-1.i386.deb" \
  "fix_lp.patch"
)
sha256sums=(
  '3ede819a65aec379ec7676f7ac0cacabd70879fbaaf2c7978eeae406c0e1c1f2' \
  'ddb53ba14356b1fb98f19e3b32f124e878f06819a2cb6cb40a719d2250fababf'
)

build() {
    cd "$srcdir"
    tar -xf data.tar.gz -C .
    tar -xf control.tar.gz -C .
  patch -Np0 < fix_lp.patch
}

post_install() {
  /opt/brother/Printers/dcpt420w/cupswrapper/cupswrapperdcpt420w
}

package() {
  install -d $pkgdir/usr/bin
  install -d $pkgdir/var/spool/lpd
  cp -R $srcdir/opt $pkgdir/opt
}

brother-dcpt420w.install文件:

post_install() {
  # lpr
  /opt/brother/Printers/dcpt420w/inf/setupPrintcapij dcpt420w -i
  
  # cupswrapper
  /opt/brother/Printers/dcpt420w/cupswrapper/cupswrapperdcpt420w
  
  systemctl restart org.cups.cups.service
}

post_upgrade() {
  /bin/true
}

pre_remove() {
  # lpr
  /opt/brother/Printers/dcpt420w/inf/setupPrintcapij dcpt420w -e
  
  # cupswrapper
  /opt/brother/Printers/dcpt420w/cupswrapper/cupswrapperdcpt420w -e
}

op=$1
shift

$op "$@"

fix_lp.patch文件:

--- opt/brother/Printers/dcpt420w/inf/setupPrintcapij.old       2008-09-15 22:01:07.000000000 +0200
+++ opt/brother/Printers/dcpt420w/inf/setupPrintcapij   2008-09-15 22:01:26.000000000 +0200
@@ -34,7 +34,7 @@
        if [ ! -d $SPOOLER_NAME ]; then
                mkdir $SPOOLER_NAME
        fi
-       chown lp $SPOOLER_NAME
+       chown root $SPOOLER_NAME
        chgrp lp $SPOOLER_NAME
        chmod 700 $SPOOLER_NAME

c.打包和安装

makepkg
sudo pacman -U brother-dcpt420w-3.5.0-1-x86_64.pkg.tar.zst

2023年8月23日注 ------------------------------------------------------------------------

现在安装brother-dcpt420w后,org.cups.cups服务已经不再存在,
需要手动启动cups服务,但不必启动cups-browsed服务:

sudo systemctl enable --now cups

------------------------------------------------------------------------

d.安装其它相关文件

yay -S brother-cups-wrapper-common brother-lpr-drivers-common system-config-printer xsane xsane-gimp sane colord-sane 

2023年8月23日注 ------------------------------------------------------------------------

Arch上还要做如下设置:

  • 安装:
yay -S nss-mdns mdns-scan qmdnsengine python-zeroconf
  • 配置

vi打开/etc/nsswitch.conf
将如下行:

hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns

替换为:

hosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns

然后保存

  • 重启电脑

------------------------------------------------------------------------

3.扫描功能设置

sudo brsaneconfig4 -a name=Brother model=DCP-T420W ip=192.168.0.105

4.打印功能设置

a. sudo system-config-printer

b. 在Brother-DCP-T420W图标上单击右键,点击属性

c. 点击设备URI后的按钮

d. 点击网络打印机-查找打印机

e. 点击以Brother-DCP-T420W开头、以1-b中记录下来的服务名称加.local结尾的打印机,在连接中选择通过DNS-SD的IPP网络打印机,然后点击应用

f. 点击生产和型号后的按钮,选择从数据库中选择打印机,点击Brother,然后点击转发,点击DCP-T420W(推荐),点击转发

g. 打印测试页和确定。

然后打印机就可以正常使用了。

2024年1月6日注 ------------------------------------------------------------------------

要让mdns生效,需要让avahi-daemon服务启动,最近发现新装的archlinux连这个服务都是默认关闭的。无语。

【笔记】WSL2使用中一些问题的解决

个人笔记,如有转载,请注明出处。

——by realasking

无法访问x410这一xserver

解决:

x410启动后,在其小图标上单击右键,点击Allow public Access,然后在弹出来的防火墙设置中全部打上勾并确定。

WSL2无法上网

解决:

每次需要在WSL2中上网的时候,执行:

sudo echo "nameserver 192.168.1.5" >> /etc/resolv.conf"

其中192.168.1.5host的活动网络连接的ip地址。

Ubuntu 20.04的imagemagick处理大图像报错

现象:

[realasking@LAP-realasking]$ convert -trim Fig7b.png Fig7b_test.jpg
convert-im6.q16: no images defined 'Fig7b_test.jpg' @ error/convert.c/ConvertImageCommand/3258.

解决:

编辑/etc/ImageMagick-6/policy.xml,将第6066行替换为:

  <policy domain="resource" name="memory" value="4096MiB"/>
  <policy domain="resource" name="map" value="8192MiB"/>
  <policy domain="resource" name="width" value="24KP"/>
  <policy domain="resource" name="height" value="24KP"/>
  <!-- <policy domain="resource" name="list-length" value="128"/> -->
  <policy domain="resource" name="area" value="2048MB"/>
  <policy domain="resource" name="disk" value="1GiB"/>

[笔记]解决mpd导致Linux系统日志文件过大的问题

个人笔记,如有转载,请注明出处。
—— by realasking

最近需要查看系统的日志信息,用journalctl查看发现里面充斥了libsmbclient的信息,平均每秒三到四条,淹没了自己需要的内容,并且系统日志异常大。根据libsmbclient后的方括号内容查找进程,发现来自于mpd,于是修改了~/.config/mpd/mpd.conf文件,设置log_file "/dev/null",然后清理log文件后重启电脑,一切都正常了。

[笔记]一些Emacs操作

老是遗忘的东西,作个笔记,备忘,如有转载,请注明出处。
——by realasking

Emacs上选择连续列(亮块是竖的,不是横的):
C-x SPC然后加方向操作或跳转操作

在用Shell-script mode (sh-mode)编写bash脚本的时候,要实现变量名的补全,应该使用autocomplete-mode,将它放入sh-mode的hook即可。

[记录]今天开始用Deepin桌面

个人笔记,如有转载,请注明出处。
——by realasking

注意到Manjaro的Deepin桌面已经更新到20.0,今天又一次装上,感觉虽然还有Bug,但已经能使用了,所以,从今天起,打算在Linux下使用一段时间的Deepin看看。

下面是一些问题的暂时解决办法:

1.媒体键不能被支持

解决:除开XF86AudioStop之外的媒体键都使用xbindkeys来绑定,通过在.config/autostart中建立desktop文件开机启动xbindkeys。为防止影响到其它桌面环境,可以在相应desktop文件的末尾加上NotShowIn=XXX,比如XXX可以是KDE

XF86AudioStop不论用xbindkeys还是Deepin的自定义热键处理之后都只是偶然有效,没去找原因,另外绑定一个热键就是了,不必纠缠。

2.没有必应每日一图的工具

解决:Deepin的网站上有人写了相应的脚本,拷贝下来改改就好了

3.fcitx没有输入框,但能输入字

解决:安装kimtoy,开机启动,同样,设置成不在别的桌面环境下启动。

4.文件管理器地址栏中的地址无法复制

解决:右键,打开终端,在终端下选中和复制
更新:新建了个用户,发现可以右键复制地址...清理cache和config文件夹后正常了

5.文件管理器有时始终在前台,无法最小化,也无法把其它程序放到最前面

解决办法尚未找到,好在能顺利关闭
2020-06-07:现在这个问题已经不存在了。

2020-06-08补充:

6.Deepin V20锁屏很丑,且左下角有两个大色块

解决:更换锁屏
操作:
(1) 安装betterlockscreen和xautolock
(2) 配置新锁屏,做法见archlinux的wiki
(3) 更换deepin自带锁屏

sudo mv /usr/bin/dde-lock /usr/bin/dde-lock.bak
sudo touch /usr/bin/dde-lock
sudo chmod +x /usr/bin/dde-lock
sudo vi /usr/bin/dde-lock

然后加上:

#!/usr/bin/bash
betterlockscreen --off 20 -l blur

(4) 配置betterlockscreen,使之能在休眠下使用,具体操作见archlinux的wiki
(5)开机启动中添加
xautolock -time 20 -locker betterlockscreen --off 20 -l blur -detectsleep
(6) 设置Deepin桌面自动锁屏时间为20分

7.桌面效果突然不能打开

解决方法1:安装完整的plasma桌面,然后deepin桌面就能打开桌面效果了

解决方法2:编辑.config/kwinrc,在[Compositing]节添加:

DisableChecks=true
Enabled=true
OpenGLIsUnsafe=false

然后重新登录

8.megasync段错误
解决:编辑/usr/share/applications/megasync.desktop,修改Exec行为:
Exec=env QT_SCALE_FACTOR=1 megasync
然后编辑.config/autostart/megasync.desktop,进行类似的修改。

2020-06-09补充:
9.调整鼠标光标大小
解决:deepin上鼠标光标大小需要同时使用kde的systemsettings5和gnome的dconf-editor来调节。
先打开systemsettings5,点击外观-光标,点选一个主题,然后选择大小,最后apply.
然后打开dconf-editor,打开com/deepin/xsettings/gtk-cursor-theme-size,在自定义值里输入数字。
最后注销并重新登录deepin即可。

暂时到这里,看能不能用得下去吧。

2020-06-10 暂停使用deepin
今天用xcrysden画图过程中,xcrysden多次无故崩溃,另外,F12唤出yakuake时yakuake完全不可见,几乎就是透明的,deepin的系统设置程序也是这样。不知道为啥会发生这样的情况,已经严重影响使用,故卸载了deepin,对它的使用尝试停止。

最新文章

最近回复

  • realasking: 哪里的话,还要非常感...
  • cnfczn: 发送留言报错:in_...
  • cnfczn: 大狮兄666,以前经...
  • realasking: 最近还行啊,就是上网...
  • cnfczn: 大狮兄,好久不见啊....
  • realasking: 您好。有什么问题就在...
  • Eric Chen: 作者你好!最近折腾中...

分类

归档

其它