debian 使用 wine 安装网易云音乐

背景

虽然网易云音乐官方提供了linux安装包, 无法在我目前的系统 Debian 9 上使用, 运行时报错 glib 缺少xxx之类的信息:

无奈还是用 wine 安装.

这篇文章简单记录使用 wine 安装网易云音乐的过程. wine的相关知识以及如何安装可以参考我以前的文章.

下载

  1. 下载exe文件.

  2. 启动安装程序:

    WINEARCH=win32 WINEPREFIX=/home/kelu/Wine/WeChat wine uninstaller
    

  3. 普通的点击install安装即可.

  4. 解决黑屏问题:

     winetricks ddr=gdi
    
  5. 做一些基本的配置:

    image-20210616160814260

参考资料


Linux 终端环境安装 L2TP 客户端

一、安装

# Ubuntu/Debian
apt-get install xl2tpd ppp

# Centos
yum -y install xl2tpd ppp

二、配置

以下<> 内部的是需要自己修改的内容,按需修改。

1. l2tpd配置文件

# /etc/xl2tpd/xl2tpd.conf 文件

[lac <id>]
name = <name>
lns = <l2tp_server_ip>
pppoptfile = /etc/ppp/peers/<id>.xl2tpd
ppp debug = no

<id> <name> <l2tp_server_ip> 大家按需求修改就好。

2. ppp配置文件

# /etc/ppp/peers/<id>.xl2tpd 文件

remotename <id>
user <l2tp_user_name>
password <l2tp_user_password>
unit 0
nodeflate
nobsdcomp
noauth
persist
nopcomp
noaccomp
maxfail 5
debug

三、启动守护进程

systemctl start xl2tpd

查看进程状况。

systemctl status xl2tpd.service

显示正在运行。

image-20210602155731986

四、开启连接

启动成功后,表示守护进程已启动,等待新的连接操作。

连接 L2TP 服务器的命令如下:

sh -c 'echo "c <id>" > /var/run/xl2tpd/l2tp-control'

断开连接的命令为:

sh -c 'echo "d <id>" > /var/run/xl2tpd/l2tp-control'

参考ppp的配置文件,例如我的:

sh -c 'echo "c lao" > /var/run/xl2tpd/l2tp-control'

使用 ifconfig 查看网络设备,如果出现 ppp0 这个网卡项,表示连接成功了。

image-20210602155932428

查看日志,可以清楚地看到连接握手状况。

journalctl -u xl2tpd -f

image-20210602155837473

五、添加路由

将要访问的ip声明为走 ppp0 网卡,使用下面的命令添加路由,我假定我们要代理的ip为 10.187.0.0/24

route add -net 10.187.0.0/24 gw 192.168.100.254 ppp0 # 添加路由
route -n # 显示路由表

# route del -net 10.187.0.0/24 gw 192.168.100.254 ppp0 # 删除路由

image-20210602160046143

添加后可以 traceroute 查看流量是否正确到达我们的对端:

参考文章


debian 安装 wine 与 wine 微信备忘

最近使用 Debian 进行办公,微信在国内是必不可少的办公工具。在linux上有很两种实现方式,

  • 集成web微信的http接口,这是最常见的,例如
    • Snap 安装第三方微信客户端 Electronic-Wechat
    • rambox 安装微信
  • 虚拟化 win 软件,仅有 wine 一家。

两种方式对个人来说都差不多,基于web微信的可以搞更多的花样,但很可惜的是,我的账号不允许登陆 web 微信,我也不知道为什么。所以直接pass,只能走wine 微信这一条路。

这篇文章记录安装 wine 和 wine 微信的要点。

零、什么是wine

Wine (“Wine Is Not an Emulator” 的首字母缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如Linux,Mac,FreeBSD和Solaris等)上运行 Windows 应用的兼容层。

Wine 不是像虚拟机或者模拟器一样模仿内部的 Windows 逻辑,而是将 Windows API 调用翻译成为动态的 POSIX 调用,免除了性能和其他一些行为的内存占用,让你能够干净地集合 Windows 应用到你的桌面。

一、安装wine

1. 打开多架构支持

查看内核架构:

sudo dpkg --print-architecture  

image-20210601164658434

如果运行的是 64 位系统,需要开启 32 位架构支持

  • 添加i386架构
sudo dpkg --add-architecture i386

2. 添加源并安装

  • 下载 winehq.key 并导入
wget -qO - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add -
  • 添加 winehq 源,在/etc/apt/sources.list中增加一行
deb https://dl.winehq.org/wine-builds/debian/ buster main
  • 更新源
sudo apt update
  • 安装winehq-stable
sudo apt install --install-recommends winehq-stable

查看wine版本号:

wine --version

image-20210601165402549

二、配置wine

  1. 建议使用桌面用户进行安装,root用户未来要复制一些文件会比较麻烦。我暂时切到我的桌面用户kelu。
su kelu
  1. 由于我一般登陆两个微信,所以我希望能同时跑两个wine来解决这个问题。所以我在运行wine前都会选择各自的独立配置。

1. 配置不同的wine配置文件

mkdir ~/Wine
WINEARCH=win32 WINEPREFIX=~/Wine/WeChat winecfg
WINEARCH=win32 WINEPREFIX=~/Wine/WeChat2 winecfg

其中 WINEARCH=win32 的作用是告诉Wine创建一个32位的wineprefix。

wineprefix 是生成配置文件的目录。

image-20210601174338238

有一个库 riched20 经常使用,提前添加一下,点击 Add:

image-20210601174405902

三、安装微信

打开软件安装界面:

WINEPREFIX=~/Wine/WeChat wine uninstaller

选择 Install 安装微信:

image-20210601174447596

安装完成。再次打开微信可以这样打开:

cd ~/Wine/WeChat/drive_c/Program Files/Tencent/WeChat
WINEPREFIX=~/Wine/WeChat wine WeChat.exe

image-20210601174633344

四、解决微信中文显示

上面可以看到了,中文字符都是方框。下面来解决中文字符问题。

1. 拷贝win7的字体文件

无脑把win7的字体文件夹 C:\WINDOWS\Fonts\ 打包复制一份到 Linux系统中。因为我起了两个配置文件,就是分别拷贝到下面的文件夹:

  • ~/Wine/WeChat/drive_c/windows/Fonts
  • ~/Wine/WeChat2/drive_c/windows/Fonts

2. 修改注册表

gedit ~/Wine/WeChat/system.reg # 一定要使用 gedit 或其他支持 gb2312/utf8 编码的编辑器修改这些文件,否则文件中的中文可能变乱码
  1. 搜索: LogPixels

    找到的行应该是

    [System\\CurrentControlSet\\Hardware Profiles\\Current\\Software\\Fonts]
    

    将其中的:

    "LogPixels"=dword:00000060
    

    改为:

    "LogPixels"=dword:00000070
    
  2. 搜索: FontSubstitutes

    找到的行应该是:

    [Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes]
    

    将其中的:

    "MS Shell Dlg"="Tahoma"
    "MS Shell Dlg 2″="Tahoma"
    

    改为:

    "MS Shell Dlg"="SimSun"
    "MS Shell Dlg 2″="SimSun"
    
  3. 把下面的代码保存为 zh.reg

    REGEDIT4
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
    "Arial"="simsun"
    "Arial CE,238"="simsun"
    "Arial CYR,204"="simsun"
    "Arial Greek,161"="simsun"
    "Arial TUR,162"="simsun"
    "Courier New"="simsun"
    "Courier New CE,238"="simsun"
    "Courier New CYR,204"="simsun"
    "Courier New Greek,161"="simsun"
    "Courier New TUR,162"="simsun"
    "FixedSys"="simsun"
    "Helv"="simsun"
    "Helvetica"="simsun"
    "MS Sans Serif"="simsun"
    "MS Shell Dlg"="simsun"
    "MS Shell Dlg 2"="simsun"
    "System"="simsun"
    "Tahoma"="simsun"
    "Times"="simsun"
    "Times New Roman CE,238"="simsun"
    "Times New Roman CYR,204"="simsun"
    "Times New Roman Greek,161"="simsun"
    "Times New Roman TUR,162"="simsun"
    "Tms Rmn"="simsun"
    

    终端执行

     WINEPREFIX=~/Wine/WeChat regedit zh.reg
     WINEPREFIX=~/Wine/WeChat2 regedit zh.reg
    

完成以上的操作,中文就显示出来了。

image-20210601182700039

五、解决微信输入界面不显示中文

主要还是 riched20 的问题。我这边的解决办法是直接把 win7 的这个文件拷贝过来。 C:\WINDOWS\System32\riched20.dll ,拷贝到wine下相关的位置。要注意先给原文件做个备份。

  • ~/Wine/WeChat/drive_c/windows/System32/riched20.dll
  • ~/Wine/WeChat2/drive_c/windows/System32/riched20.dll

image-20210602104014874

然后重启电脑。

六、制作图标

因为有两个微信,还是要制作不同的图标,以下是我的设置。

image-20210602104004589

文件 wechat.desktop:

[Desktop Entry]
Name=WeChat
Exec=env WINEPREFIX="/home/kelu/Wine/WeChat" wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/kelu/Wine/WeChat/dosdevices/c:/ProgramData/Microsoft/Windows/Start\\ Menu/Programs/WeChat/WeChat.lnk
Type=Application
StartupNotify=true
Path=/home/kelu/Wine/WeChat/dosdevices/c:/Program Files/Tencent/WeChat
Icon=8A76_WeChat.0
StartupWMClass=wechat.exe

文件 wechat2.desktop:

[Desktop Entry]
Name=WeChat2
Exec=env WINEPREFIX="/home/kelu/Wine/WeChat2" wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/kelu/Wine/WeChat2/dosdevices/c:/ProgramData/Microsoft/Windows/Start\\ Menu/Programs/WeChat/WeChat.lnk
Type=Application
StartupNotify=true
Path=/home/kelu/Wine/WeChat2/dosdevices/c:/Program Files/Tencent/WeChat
Icon=8A76_WeChat.0
StartupWMClass=wechat.exe

分别给这两个文件赋予可执行权限:

chmod +x wechat.desktop
chmod +x wechat2.desktop

在桌面点击图标后,信任该文件,就可以看到图标了。

image-20210602104031729

参考资料


ThinkPad X270 上安装 Debian

最近因为一些原因将办公操作系统由 Windows 改为 Linux。 由于已经在 Debian 9下开发了小半年时间,索性还是以Debian 9 作为办公系统。接下来会有一系列的相关文章记录这个过程。这篇文章记录我在笔记本 Thinkpad X270 上安装 Debian 9 的过程。其他版本的大同小异。

注意安装时要使用网线安装,默认没有 wifi 驱动,需要后面手动安装。另外一开始也没有触摸板的驱动,所以使用ui界面安装时候需要把鼠标插上。

一、USB烧录系统

  1. 官网上获取最新镜像地址:https://cdimage.debian.org/debian-cd/current/amd64/bt-dvd/

  2. 准备一个空的U盘用来刻录 debian 的系统,8G就足够用了。

  3. 推荐使用 rufus 烧录镜像。

    [rufus screenshot]

二、笔记本BIOS设置

这里简单涉及笔记本 UEFI 、Legacy UEFI+Legacy启动的区别了。

1. uefi 和legacy 是两种不同的引导方式

uefi是新式的BIOS,legacy是传统BIOS。在UEFI模式下安装的系统,只能用UEFI模式引导;

同理,如果在Legacy模式下安装的系统,也只能在legacy模式下进系统。

  • uefi只支持64为系统且磁盘分区必须为gpt模式,
  • 传统BIOS使用Int 13中断读取磁盘,每次只能读64KB,
  • UEFI每次可以读1MB,载入更快。

在目前的系统运行方式中,win8/win10 基于UEFI方式启动,其余均为Legacy方式启动。

因此,我们需要修改笔记本默认引导方式由 UEFI 改为 Legacy。

2. 进入BIOS设置

  1. 按电脑电源按钮(或重启)

  2. 不同电脑进入BIOS的快捷键不同,通常为F1、F2、DEL、ESC等,根据提示操作把。针对 X270,开机狂按 Enter 就可以选择进入 BIOS了。

  3. 关闭安全启动

    对于有些主板来说,只有 把Secure Boot Control 设置为 Disable 的时候才能把 Launch CSM选项设置为Legacy。对于 Thinkpad X270 来说是如此。

    image-20210601140120615

    设置为 disable。只有关闭了安全登陆,才可以更改 BIOS 引导为 Legacy

    image-20210601140137095

    修改 Legacy 为优先启动顺序。

    image-20210601140734700

  4. 最后可以修改加载磁盘顺序,也可以在启动的时候狂按 Enter 键后手动选择。

    image-20210601140624396

3. 安装debian

这一块没有什么特别好说的,一路按照提示安装就可以了。

4. 安装wifi驱动

关于 Debian 在不同硬件上的安装,其实可以参考官方 wiki 中的介绍:https://wiki.debian.org/InstallingDebianOn/Thinkpad/X270/sid,官方已经对硬件进行了测试,可以细看 wifi 相关的描述, Only works with a non-free driver and or firmware

image-20210601141225593

往下翻:

image-20210601141622011

关键字出来了: iwlwifi –Debian Wiki,英特尔 Wi-Fi 设备的专有驱动程序。

/etc/apt/source.list 里追加:

# Debian 9 "Stretch"
deb http://httpredir.debian.org/debian/ stretch main contrib non-free

安装:

apt update
apt install firmware-iwlwifi
reboot

完成。

参考资料