Snap Chrome浏览器及展示如何在snap中打入debian包
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Snap Chrome浏览器及展示如何在snap中打入debian包
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                Chrome瀏覽器是一個非常重要的應用.它甚至成為我們平時工作而不可以缺失的工具.在今天的教程中,我們來展示如何把Chrome瀏覽器打包為一個snap應用.
 
我們知道,每當我們在電腦上安裝我們的Chrome瀏覽器時,我們可以在如下的地址來下載我們的Chrome deb安裝包:
https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
當然這是針對64位的機器來說的.我們如何在我們的snapcraft如何安裝這個debian包呢?答案是使用dump plugin.為此,我們的snapcraft.yaml的內容如下:
snapcraft.yaml
name: mychrome # you probably want to 'snapcraft register <name>' version: '0.2' # just for humans, typically '1.2+git' or '1.3.2' summary: Chrome for snap # 79 char long summary description: |This is chrome app in snap formatgrade: stable # must be 'stable' to release into candidate/stable channels confinement: strict # use 'strict' once you have the right plugs and slotsapps: mychrome:command: desktop-launch $SNAP/opt/google/chrome/chromeplugs: [unity7,home,x11,opengl,network,network-bind,browser-support,process-control,fuse-support]parts:chrome:plugin: dumpsource: https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.debstage-packages:- overlay-scrollbar-gtk2- libatk-adaptor- libgail-common- libcanberra-gtk-module- libnss3-tools- libglu1-mesa# language support- fonts-freefont-ttf- ttf-freefont- ttf-wqy-microhei- fonts-wqy-microhei# input method- fcitx- fcitx-frontend-gtk2 after: [desktop-gtk2]
在上面可以看出來,我們使用dump plugin來安裝我們的google-chrome-stable_current_amd64.deb文件. 為了能夠讓我們的chrome正確運行,我們也同時把它所需要的其它的debian包一并打入到我們的snap包中.
stage-packages:- overlay-scrollbar-gtk2- libatk-adaptor- libgail-common- libcanberra-gtk-module- libnss3-tools- libglu1-mesa# language support- fonts-freefont-ttf- ttf-freefont- ttf-wqy-microhei- fonts-wqy-microhei# input method- fcitx- fcitx-frontend-gtk2
這些都是從Ubuntu Archive來的debian安裝包,它們將最終被打入到我們的snap包中.也許有人問:為什么我們不可以用同樣的方法(stage-packages)來打包我們的google-chrome-stable_current_amd64.deb?這里的原因就是它不來自于Ubuntu Archive,所以stage-packages不可以幫我們安裝.在這里,我們由于在應用中需要中文的顯示,所以我也把相應的語言字體包打入到我們的應用之中.對于其它語言的支持,開發者可以自己添加到語言的列表中.另外為了配合我們的輸入法的輸入,我也把相應的輸入法的包打入到我們的最終的snap包中.
另外由于這個應用是一個gtk的應用,所有我們必須使用由desktop-gtk2所提供的desktop-launch來啟動我們的應用.由于這個remote part必須是先于我們的chrome part,所有我們使用了after來調整在build過程中的先后順序.
在這里值得注意的是我們使用兩個非自動連接的plug/slot接口(interfaces):process-control及fuse-support.將來如果該應用發布到stable channel的話,并且我們不以--devmode的選項來安裝,我們可以使用如下的命令來安裝并需要做相應的手動連接:
$ sudo snap install mychrome $ sudo snap connect mychrome:fuse-support ubuntu-core:fuse-support $ sudo snap connect mychrome:fuse-support ubuntu-core:process-control
由于目前我的mychrom應用是發布到beta的channel里,并且還有個別的安全問題沒有完全得到解決.我們可以使用--devmode來安裝:
$ sudo snap install mychrome --beta --devmode
等安裝完我們的chrome應用后,我們可以在我們的dash中找到相應的Chrome圖標.我們可以直接使用這個圖標來啟動我們的應用:
我們項目的源碼在:https://github.com/liu-xiao-guo/mychrome
在調試我們的應用時,我們可以在一個terminal中打入如下的命令:
$ sudo snap install snappy-debug $ sudo snap connect snappy-debug:log-observe ubuntu-core:log-observe $ sudo /snap/bin/snappy-debug.security scanlog mychrome
在另外一個terminal或在dash中直接啟動我們的應用mychome,我們可以在上面的terminal中查看我們缺失的plugs或錯誤信息.通過這種方法可以幫助我們來調試我們的應用.
總結
以上是生活随笔為你收集整理的Snap Chrome浏览器及展示如何在snap中打入debian包的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Elastic Search学习笔记
 - 下一篇: 数据中台如何实现数据共享?用这个工具即可