TIM,WeChat[【Deepin or Docker】 on Ubuntu18.04


使用Deepin或Docker

 

Deepin TIM,WeChat

  • 安裝

 首先將已有的deepin清理干凈,並最好刪除~/.deepwine的文件夾

$ sudo apt-get --purge remove deepin.com*

如果提示E: Unable to locate package deepin....,可以參考apt卸載安裝包,提示Unable to locate...

 安裝deepwine(這個是可以安裝最新2.6.8版deepin-WeChat的)

$ git clone https://gitee.com/swjevergreen/Deepin-Wine-for-Ubuntu.git
$ cd ~/Downloads/deepin-wine-for-ubuntu/
$ ./install.sh

 TIM和WeChat下載:https://mirrors.aliyun.com/deepin/pool/non-free/d,其中的deepin.com.qq.office,deepin.com.wechat

 安裝.deb文件

$ sudo dpkg -i deepin.com.qq.office.....deb
$ sudo dpkg -i deepin.com.wechat.....deb

 

  • 問題解決

  1.英文環境下WeChat中文為方框解決:

#1.添加字體
$ cp msyh.ttc ~/.deepinwine/Deepin-WeChat/drive_c/windows/Fonts

#2.修改系統注冊表
$ gedit ~/.deepinwine/Deepin-WeChat/system.reg
#修改以下兩行
"MS Shell Dlg"="msyh"
"MS Shell Dlg 2"="msyh"

#3.字體注冊
$ gedit msyh_config.reg
#內容添加
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
"Lucida Sans Unicode"="msyh.ttc"
"Microsoft Sans Serif"="msyh.ttc"
"MS Sans Serif"="msyh.ttc"
"Tahoma"="msyh.ttc"
"Tahoma Bold"="msyhbd.ttc"
"msyh"="msyh.ttc"
"Arial"="msyh.ttc"
"Arial Black"="msyh.ttc"
#注冊
$ WINEPREFIX=~/.deepinwine/Deepin-WeChat deepin-wine regedit msyh_config.reg

#4.重啟WeChat

 操作完后,TIM的文字也會顯示正常了,因為他是將字體鏈接到注冊表里,相當於公用了。如果不行,就仿照着對tim做一遍上述操作就可以了。

  2. WeChat中間的黑框解決

 方法一:從文件管理器中把Windows中C:/programmfiles(x86)/tencent/下的WeChat復制到下面路徑中

~/.deepinwine/Deepin-WeChat/drive_c/Program Files/Tencent

這還相當於升級了一次WeChat(如果你Windows中是最新版)

*這里我出了問題后又重新替換了一遍,不過替換后WeChat會閃退(沒替換不會,不過有黑框),解決:執行下面3里的那一句,將函數庫(Libraries)中riched20改為內建先於原裝(built then native)即可

原因是Windows那邊的WeChat又升級了,升級到2.9.5了,重新裝了一個2.9.0版本,再copy過來就沒問題

 方法二:隨便找個好友,輸入666,彈出可選表情后黑色方塊就會沒有了,就是每次啟動都要來一遍;並且還有一個只有一個點的窗口

  3. TIM和WeChat字號太小

$ env WINEPREFIX="$HOME/.deepinwine/Deepin-WeChat" /usr/bin/deepin-wine winecfg

 執行上面的命令,可以打開wine的控制界面,在Graphic里面可以修改字號大小,我使用為120dpi。

修改TIM字號只需要將命令中改為Deepin-TIM

  4. 添加系統托盤(否則雖然×掉了WeChat和wine,但來信息了還是有提示音(可能在后台),但是又找不到它,只能重新登錄一遍)

$ sudo apt install gnome-shell-extension-top-icons-plus  #安裝后去gnome-tweak-tool打開top icons plus插件
$ sudo apt install chrome-gnome-shell

訪問https://extensions.gnome.org/extension/1031/topicons/,打開右上方按鈕為ON即可,可能還要重啟系統才會生效

  5. TIM提示安裝Flash、不顯示聊天圖片、無法下載群文件

 安裝Flash可以忽略

后面兩個問題可以通過禁用ipv6或者在登錄界面右上角設置http或socket5代理解決(你得先有個可用的代理),下面是禁用ipv6的解決

$ sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
$ sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
$ sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1

重啟TIM

 

Docker QQ,TIM,WeChat

參考:天泉證道

docker客戶端給docker守護進程發送命令,docker守護進程從遠端的倉庫中獲取鏡像,使用鏡像創建一個容器,之后客戶端就可以使用命令操作這個容器。這個鏡像就是把一個應用除內核外的所有運行環境打包,所以它的移植性非常好。

這個就相當於安裝了一個管理器Docker(類似wine),之后從遠程獲得鏡像容器到本地(deepin要自己下載TIM,WeChat的deb包,並安裝),之后直接操作這個容器即可(deepin只是作為一個平台,后續相關性不大)

qq:office就是TIM,qq:latest是qq

$ sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common              # 安裝一些必備包
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -                       # 將官方Docker存儲庫的GPG密鑰添加到系統
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"    # 這里將參考中的debian改為ubuntu
$ sudo apt update
$ sudo apt install docker-ce      # 安裝社區版
$ sudo systemctl status docker    # 查看狀態,為active即在運行
$ sudo usermod -aG docker uername  # 將user加入docker group中,就可以直接用docker命令而不必sudo  docker了
$ docker pull bestwu/qq        # pull qq鏡像到本地,TIM就是bestwu/qq:office
$ docker pull bestwu/wechat
$ xhost +                 # 提示access control disabled, clients can connect from any host即可
$ docker run -d --name qq --device /dev/snd/ \  # 第一次執行,創建容器,並啟動qq
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -v $HOME/TencentFiles:/TencentFiles \
  -e DISPLAY=unix$DISPLAY \
  -e XMODIFIERS=@im=fcitx \
  -e QT_IM_MODULE=fcitx \
  -e GTK_IM_MODULE=fcitx \
  -e AUDIO_GID=`getent group audio | cut -d: -f3` \
  -e VIDEO_GID=`getent group video | cut -d: -f3` \
  -e GID=`id -g` \
  -e UID=`id -u` \
  bestwu/qq
# 第一次要執行run,創建容器
$ docker run -d --name wechat --device /dev/snd/ \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -v $HOME/WeChatFiles:/WechatFiles \
  -e DISPLAY=unix$DISPLAY \
  -e XMODIFIERS=@im=fcitx \
  -e QT_IM_MODULE=fcitx \
  -e GTK_IM_MODULE=fcitx \
  -e AUDIO_GID=`getent group audio | cut -d: -f3` \
  -e VIDEO_GID=`getent group video | cut -d: -f3` \
  -e GID=`id -g` \
  -e UID=`id -u` \
  -e DPI=125
  bestwu/wechat         # DPI=125指窗口放大為原始的125%
$ docker ps -a          # 查看有哪些容器(Docker就像一個小系統)
$ docker start wechat      # 之后啟動WeChat

 

Docker使用(和基礎的Terminal命令差不多,就是要加一個前提對象docker,如docker rm qq)

 

問題:這個TIM拉伸其部件會導致其閃退,使用docker stop tim停止該容器,然后再重新用start啟動,tim將顯示為拉伸后的狀態(一般是拉大),不再拉伸就不會閃退了

解決:對於NVIDIA的顯卡,在run中需要加上 --ipc="host",就不會有上面的閃退問題了(參見

問題:①Docker相當於一個小操作系統,它的文件系統是上面建立的WeChatFiles,也就是只能訪問這個文件夾中內容,無法訪問Ubuntu中其他文件②突然發現微信中保存的文件在文件系統中搜都搜不到(之前可以看到)

解決:網上有很多掛載本機目錄到容器目錄的博客文章,如用--mount或-v的,但是我這里都會報錯,所以選擇在容器和本機文件系統之間復制文件的方法,畢竟用微信傳的只是較小的文件

如我將微信上的example.pdf右鍵另存為,另存到路徑/home/wechat/example.pdf,但是在本地文件系統中未找到/home/wechat這個路徑,也搜不到這個example.pdf,但是這個文件應該是實際存在的,可以用下面方法取出

$ docker cp <containerName>:/file/path/within/container /host/path/target     # cp from container to local file system
$ docker cp /host/path/target  <containerName>:/file/path/within/container    # cp from local file system to container
$ docker cp wechat:/home/wechat/example.pdf example.pdf                # cp example.pdf from container to $pwd as example.pdf (succeed)

實踐證明,雖然文件系統中找不到也看不到這個example.pdf,但它確實存在,也可以進行操作

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM