Docker內Chrome中文亂碼的解決方案以及部署360奇安信失敗案例

济南小老虎發表於2024-04-05

Docker內Chrome中文亂碼的解決方案以及部署360奇安信失敗案例


背景

搞了一個清明假期, 把chrome安裝上去了
可以實現簡單的的版本確認

然後想著搞一下國產化的瀏覽器
突然發現國產化的瀏覽器的坑是無與倫比的深.

記錄一下過程. 

下載

https://www.qianxin.com/ctp/gmbrowser.html
下載: 下載信創X86版(Deb包)

https://browser.360.net/gc/index.html
下載 360安全瀏覽器 deb 包

https://registry.npmmirror.com/binary.html?path=chromedriver/102.0.5005.27/
下載 102版本的chromedriver

需要可以打包為僅有二進位制的模式

dockerfile

FROM ubuntu:24.04
RUN apt update -y
RUN apt install -y systemd
RUN apt-get install -y dbus
RUN dbus-daemon --system
COPY qaxbrowser-safe-stable_1.0.45398.7-1_amd64.deb /root
RUN apt-get install /root/qaxbrowser-safe-stable_1.0.45398.7-1_amd64.deb -y

坑爹的來了

奇安信安裝會報錯, 提示依賴:xdg-icon-resource
沒搞定. baidu google 出來的意義都很小. 

360 可以成功安裝上, 坑爹的是:
檢視版本出來的事 360的版本 
我TM要用 chromedriver 360的版本沒鳥用

然後突然想用 headless的方式檢視一下具體頁面.
結果又被坑了一把

渲染頁面

/opt/apps/com.360.browser-stable/files/com.360.browser --headless --disable-gpu --no-sandbox --screenshot=/version.jpg --window-size=1920,1080 se://version
失敗..

失敗其實分了三層:

第一層: 360 直接報錯提升:
ERROR:se_device_id_linux.cc(734)] No mother board serial no. detected
懷疑是360自己的序列號相關的程式. 國產軟體還沒做好就總想收費. 失望.

第二層: 直接亂碼了. 我艙室了下百度都變成了 中文都變成框框

第三層: chrome://version 無法渲染, 幹. 路沒一條通的

解決亂碼

apt-get install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy
可以再docker file 裡面新增進去

因為我的很多還沒有新增python, 我感覺可以一起新增一下就可以了. 

跟 locale 沒關係, 百度出來的很多都是糊弄人的.

悲傷的故事 再次浪費 2h

相關文章