自製免安裝攜帶版 Chrome Portable - Linux
https://zh.wikipedia.org/wiki/Google_Chrome |
程式碼來自 https://github.com/shivamgly
下載瀏覽器與 GCPM 程式碼
取得 Linux 版 Google Chrome 和 Google-Chrome-Portable-maker-for-linux 之後,將安裝檔改名為 google-chrome-stable_current_amd64.deb,並將 Google Chrome Portable Maker (GCPM) For Linux 程式碼與瀏覽器安裝檔放置於同資料夾內。習翠
更改權限
chmod +x GCPM
執行
./GCPM google-chrome-stable_current_amd64.deb
成功執行後,會出現一個新的 ChromePortableGCPM 資料夾,將其複製到隨身碟或其他裝置內即可使用。
附註
根據作者的說明,由於 chrome sandbox 必須要有系統管理員權限 (root) 才能執行,因此處理過程中會需要輸入密碼。六四天安門
延伸閱讀
Google-Chrome-Portable-maker-for-linux 專案網址
自製免安裝 Firefox Portable 將個人資料帶著走
GCPM 程式碼備份
#!/usr/bin/env bash
rf=`tput setaf 1`
rb=`tput setab 1`
gf=`tput setaf 2`
gb=`tput setab 2`
wf=`tput setaf 7`
wb=`tput setab 7`
yf=`tput setaf 3`
yb=`tput setab 3`
bf=`tput setaf 4`
bb=`tput setab 4`
blf=`tput setaf 0`
blb=`tput setab 0`
r=`tput sgr 0`
if [ "$1" == '' ]; then
echo "${rb}${wf}Error: Chrome package not specified${r}"
echo -e "type \"./GCPM --help\" for more options and usage\n Google Chrome Portable Maker\n"
fi
if [[ $1 == *.deb ]] || [[ $1 == *.DEB ]]; then
#Google chrome package passed
if [ ! -e "$1" ]; then
#statement
echo "${rb}${wf}Error: Specified file "$1" does not exists${r}"
echo -e "type \"./GCPM --help\" for more options and usage\n Google Chrome Portable Maker\n"
exit 2
fi
#Making folder for Portable google chrome
name="ChromePortableGCPM"
n=0
while [[ -d "$name" ]]; do
n=$((n+1))
t="ChromePortableGCPM($n)"
name="$t"
done
if [ ! -d "$name" ]; then
mkdir $name
fi
#Extracting data form the package
echo -e "\n${gf}${blb}Extracting data from package${r}\n"
dpkg-deb -v --extract $1 "$name/temp"
echo -e "\n${gf}${blb}Extraction Completed${r}\n"
#moving chrome folder to data folder and renaming
mv -v "$name/temp/opt/google/chrome" "$name"
mv -v "$name/chrome" "$name/data"
mv -v "$name/data/google-chrome" "$name/data/launcher"
#deleting the temporary files
echo -e "\n${gf}${blb}Deleting temporary files${r}\n"
rm -rf -v "$name/temp"
echo -e "\n${gf}${blb}Deleted temporary files${r}\n"
#making the virtual home directory
mkdir "$name/data/VHOME"
#making desktop entry
touch "$name/chromeGCPM.desktop"
dpath="$name/chromeGCPM.desktop"
#echo -n 'Exec=sh -c 'env HOME="$(dirname "$*")"/Data/VHOME "$(dirname "$*")"/Data/google-chrome' dummy %k' in
#to the desktop Entry file
{
echo '[Desktop Entry]'
echo 'Name=Chrome Portable'
echo 'Type=Application'
echo -n 'Exec=sh -c '
echo -n ''"'"''
echo -n 'rm -rf "$(dirname "$*")"/execute_this.sh; '
echo -n 'if [ `stat -c %%a:%%u:%%g "$(dirname "$*")"/data/chrome-sandbox` != 4755:0:0 ]; then '
echo -n 'echo '"'"'"'"'"'"'"'"
echo -n 'BASEDIR="$(dirname "$0")"\n'
echo -n 'sudo chown root:root $BASEDIR/data/chrome-sandbox\n'
echo -n 'sudo chmod 4755 $BASEDIR/data/chrome-sandbox\n'
echo -n 'rm -f $BASEDIR/execute_this.sh\n'
echo -n 'env HOME=$BASEDIR/data/VHOME $BASEDIR/data/launcher >/dev/null 2>&1 &\n'
echo -n "'"'"'"'"'"'"'"
echo -n ' > "$(dirname "$*")"/execute_this.sh; '
echo -n 'fi; '
echo -n 'env HOME="$(dirname "$*")"/data/VHOME "$(dirname "$*")"/data/launcher'
echo -n ''"'"''
echo ' dummy %k'
echo 'Icon=google-chrome'
} >"$dpath"
echo -e "\n${gf}${blb}Generated Virtual Home directory and chrome launcher${r}"
#Execution Permisiion to desktop entry file
chmod +x "$dpath"
echo -e "\n${gf}${blb}Written to GCPM.desktop!${r}"
#changing owner of chrome-sandbox
echo -e "\n${gf}${blb}Please enter password, and make sure you are added in the sudoers file\n${r}"
sudo chown root:root "$name/data/chrome-sandbox"
sudo chmod 4755 "$name/data/chrome-sandbox"
echo -e "\n${wf}${bb}Process Completed Successfully!\nNow you can launch google chrome from $name folder \nYou can move $name folder anywhere, it will still work${r}"
echo -e "\n${rf}${wb}Note: Google Chrome will take 2-3 mins to start for the first time \n(Only for the first time,It will start immediately after this)${r}\n"
fi
if [ "$1" != '' ]; then
if [[ "$1" == '--help' ]]; then
echo -e "\nGoogle Chrome Portable maker\n"
echo -e "It makes Chrome portable so that you can move it anywhere or browse this privately"
echo -e "usage: ./GCPM [google-chrome *.deb package]"
echo -e "Download Google Chrome package from https://www.google.com/chrome/"
echo -e "Browse GCPM Github repository at https://github.com/shivamgoyal15/Google-Chrome-Portable-maker-for-linux\n"
exit 12
fi
if [[ $1 != *deb ]] && [[ $1 != *DEB ]]; then
echo "${rb}${wf}Error: Not a valid debian package passed${r}"
echo -e "type \"./GCPM --help\" for more options and usage\n Google Chrome Portable Maker\n"
exit 1
fi
fi
留言
張貼留言
由於廣告留言太多,因此改採審核發佈,請耐心等候。
無法留言?請點我