linux上卦方,使用 jvppeteer 啟動(dòng)chrome報(bào)錯(cuò):缺少 libXss.so.1

Centos 下使用 Jvppeteer · fanyong920/jvppeteer Wiki (github.com)

error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

場景:

linux centos8.2服務(wù)器;
docker容器運(yùn)行的微服務(wù)facereport泰佳;
微服務(wù)facereport中用了jvppeteer技術(shù)調(diào)用chrome截圖盼砍,如圖:


image.png

前端調(diào)用微服務(wù)后報(bào)錯(cuò),錯(cuò)誤就是puppeteer啟動(dòng)chrome失敗逝她,說是加載共享庫時(shí)浇坐,找不到。
注:puppeteer是前端爬蟲工具黔宛,你可以理解為語法是js近刘。 jvppeteer也是爬蟲工具,語法是java宁昭。

問題:

linux上跌宛,使用 jvppeteer 啟動(dòng)chrome報(bào)錯(cuò):

2021-02-24 08:49:30.534  INFO 1 --- [-nio-93-exec-10] c.r.j.core.browser.BrowserFetcher: 
revision:722234,
executablePath:/.local-browser/linux-722234/chrome-linux/chrome积仗,
folderPath:/.local-browser/linux-722234,
local:true蜕猫,
url:https://npm.taobao.org/mirrors/chromium-browser-snapshots/Linux_x64/722234/chrome-linux.zip,
product:chrome

com.ruiyun.jvppeteer.exception.TimeoutException: Timed out after 30000 ms while trying to connect to the browser!
Chrome output: /.local-browser/linux-722234/chrome-linux/chrome: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

原因:

關(guān)鍵在于最后:
error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory
找不到這個(gè)叫作 libXss.so.1 的依賴寂曹。

解決過程:

1.查找chrome安裝路徑:
find / -name chrome

[root@cumt chrome-linux]# find / -name chrome
find: ‘/proc/4138391’: No such file or directory
find: ‘/proc/4138392’: No such file or directory
/var/lib/selinux/targeted/active/modules/100/chrome
/var/lib/docker/overlay2/562dbdf18ef7e71663da04c38e7108e4dbd1d9fab3dedc32d7d16d6624b2c08e/diff/.local-browser/linux-722234/chrome-linux/chrome
/var/lib/docker/overlay2/562dbdf18ef7e71663da04c38e7108e4dbd1d9fab3dedc32d7d16d6624b2c08e/merged/.local-browser/linux-722234/chrome-linux/chrome
/usr/share/selinux/targeted/default/active/modules/100/chrome

2.查看缺少的依賴
cd /var/lib/docker/overlay2/562dbdf18ef7e71663da04c38e7108e4dbd1d9fab3dedc32d7d16d6624b2c08e/merged/.local-browser/linux-722234/chrome-linux/
ldd chrome | grep not 查看缺少的依賴

image.png

3.安裝缺少的依賴
(1). error while loading shared libraries: libatk-bridge-2.0.so.0
解決:yum install at-spi2-atk -y
(2). error while loading shared libraries: libXss.so.1
解決:yum install libXScrnSaver* -y
(3). error while loading shared libraries: libgtk-3.so.0
解決:yum install gtk3 -y
(4). error while loading shared libraries: libasound.so.2: cannot open shared object file: No such file or directory
yum install nss
(5).error while loading shared libraries: libasound.so.2: cannot open shared object file: No such file or directory
yum install alsa-lib
其他缺少的依賴,到這查找
https://pkgs.org/search/?q=libasound.so.2
image.png

4.執(zhí)行ldconfig刷新一下動(dòng)態(tài)鏈接庫緩存回右。(此處參考:https://blog.csdn.net/sahusoft/article/details/7388617
5.測試:
執(zhí)行./chrome隆圆,如果不報(bào)缺少xxx動(dòng)態(tài)鏈接庫依賴的錯(cuò)誤就是測試通過了,如圖:
image.png

它說的“Running as root without --no-sandbox is not supported”這玩意不用管翔烁,反正是不缺少依賴了渺氧,測試成功。

然后蹬屹,我重新啟動(dòng)微服務(wù)facereport侣背。前端調(diào),還是報(bào)“error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory”坑啊慨默。

針對上面的現(xiàn)象贩耐,想想:

首先,微服務(wù)是跑在docker里的厦取,然后調(diào)用chrome的時(shí)候潮太,需要下載chrome(因?yàn)樯厦娲a中有:BrowserFetcher.downloadIfNotExist(null);),下載的chrome是在這個(gè)路徑下:/var/lib/docker/overlay2/562dbdf18ef7e71663da04c38e7108e4dbd1d9fab3dedc32d7d16d6624b2c08e/merged/.local-browser/linux-722234/chrome-linux/chrome
那么,我來到這個(gè)路徑下:cd /var/lib/docker/overlay2/562dbdf18ef7e71663da04c38e7108e4dbd1d9fab3dedc32d7d16d6624b2c08e/mergedls一下铡买,發(fā)現(xiàn)是個(gè)虛擬機(jī)更鲁。沒錯(cuò),這是docker容器里的東西奇钞,docker這東西不就是個(gè)獨(dú)立的麻雀嘛澡为,五臟俱全。chrome每次都是被程序裝到麻雀身體里的...怪不得它找不到我外面的鏈接庫蛇券。

解決辦法:把facereport從docker里挪出來啟動(dòng)缀壤,直接用java -jar xxx 啟動(dòng)。

測試成功纠亚,如圖:


image.png

要特別注意這個(gè)executablePath塘慕,這次程序把chrome給我安裝在了真正的服務(wù)器上,而不是docker的虛擬機(jī)里蒂胞。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末图呢,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子骗随,更是在濱河造成了極大的恐慌蛤织,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鸿染,死亡現(xiàn)場離奇詭異指蚜,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)涨椒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門摊鸡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蚕冬,你說我怎么就攤上這事免猾。” “怎么了囤热?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵猎提,是天一觀的道長。 經(jīng)常有香客問我旁蔼,道長锨苏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任牌芋,我火速辦了婚禮蚓炬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘躺屁。我一直安慰自己肯夏,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著驯击,像睡著了一般烁兰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上徊都,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天沪斟,我揣著相機(jī)與錄音,去河邊找鬼暇矫。 笑死主之,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的李根。 我是一名探鬼主播槽奕,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼房轿!你這毒婦竟也來了粤攒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤囱持,失蹤者是張志新(化名)和其女友劉穎夯接,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纷妆,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盔几,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了掩幢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片问欠。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖粒蜈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情旗国,我是刑警寧澤枯怖,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站能曾,受9級特大地震影響度硝,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜寿冕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一蕊程、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧驼唱,春花似錦藻茂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽优俘。三九已至,卻和暖如春掀序,著一層夾襖步出監(jiān)牢的瞬間帆焕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工不恭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叶雹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓换吧,卻偏偏與公主長得像折晦,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子式散,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容