How can I install brave or chrome browser on clear linux?
I have not gotten Brave done in a simple manner yet. For Chrome you can crack open the rpm and install it manually or you can build it from source. I haven’t personally done either of these yet but I believe people here have gotten Chrome working.
Brave browser installation
-
Open a terminal
-
Run the following command to obtain root privileges
sudo -s
and type your admin password.
-
Run the following commands, one by one:
swupd bundle-add package-utils dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/x86_64/ rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc dnf download brave-keyring brave-browser rpm2cpio brave-keyring*.rpm | ( cd /; cpio -idv) rpm2cpio brave-browser*.rpm | ( cd /; cpio -idv)
-
Now you can delete the .rpm packages and, if you don’t need it, the
package-utils
bundle. To do this run the following commands, one by one:rm -f brave-*.rpm swupd bundle-remove package-utils
-
Now we can fix the missing menu icon (thanks to @mattyjones):
sed -i 's/Icon=brave-browser/Icon=brave/g' /usr/share/applications/brave-browser.desktop
-
And the following command will fix the font loading (thanks to @TomL):
f=/etc/environment; s='export FONTCONFIG_PATH=/usr/share/defaults/fonts'; touch $f; if ! grep -q "$s" $f; then echo $s >> $f; fi
-
Reboot your system.
Done!
Uninstalling Brave browser
-
Open a terminal
-
Run the following command to obtain root privileges
sudo -s
and type your admin password.
-
Run the following commands, one by one:
f=brave*; rm -f /etc/cron.daily/$f /usr/bin/$f /usr/share/appdata/$f /usr/share/applications/$f /usr/share/gnome-control-center/default-apps/$f /usr/share/man/man1/$f /etc/pki/rpm-gpg/*brave rm -rf /opt/brave.com
Done!
Google Chrome installation
-
Open a terminal
-
Run the following command to obtain root privileges
sudo -s
and type your admin password.
-
Run the following commands, one by one:
swupd bundle-add package-utils curl -LO https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm rpm2cpio google-chrome*.rpm | ( cd /; cpio -idv)
-
Now you can delete the .rpm package and, if you don’t need it, the
package-utils
bundle. To do this run the following commands, one by one:rm -f google-chrome*.rpm swupd bundle-remove package-utils
-
And the following command will fix the font loading (thanks to @TomL):
f=/etc/environment; s='export FONTCONFIG_PATH=/usr/share/defaults/fonts'; touch $f; if ! grep -q "$s" $f; then echo $s >> $f; fi
-
Reboot your system.
Done!
Uninstalling Google Chrome
-
Open a terminal
-
Run the following command to obtain root privileges
sudo -s
and type your admin password.
-
Run the following commands, one by one:
f=google-chrome*; rm -f /etc/cron.daily/$f /usr/bin/$f /usr/share/appdata/$f /usr/share/applications/$f /usr/share/gnome-control-center/default-apps/$f /usr/share/man/man1/$f rm -rf /opt/google
Done!
Mattia, thanks for this. Just an FYI for Chrome, there is an issue reported for the fonts, installing chrome · Issue #422 · clearlinux/distribution · GitHub, once I applied the workaround my fonts were fine.
Edit the file /etc/environment with root privileges:
$ sudo vi /etc/environment
Add the following:
export FONTCONFIG_PATH=/usr/share/defaults/fonts
and save the file and reboot to the system.
I also added chrome to my favorites since I use it all the time. Right-click the chrome icon and select add to favorites.
Your fonts should behave
No icon though, will need to fix that but having Brave brings me almost to a full setup.
@TomL thanks for the info, I didn’t know that. I used to edit Chrome font settings, now I just updated the tutorial with your workaround. It works with Brave browser too, since it’s Chrome-based.
@mattyjones I also fixed the missing icon issue with Brave.
How do we update the Brave, if any new version released, once installed?
As far as I understand it, running cpio
with a new archive will replace the older files with the new ones. Re-following the procedure should work for updating the browsers.
Goto installing chrome · Issue #422 · clearlinux/distribution · GitHub and look for Danyer’ comment, I use his script regularly to update Chrome browser.
Below is the script to install Brave browser. I modified base on Danyer’s Chrome script.
#!/bin/bash
#PS4='$LINENO: '
#set -x
#DEST=~/brave-${1}
#VERSION_FILE=${DEST}/.version
DEST=
VERSION_FILE=
usage()
{
echo "usage: install-brave-target [target]"
echo " [target] - Only 'stable', 'beta', 'nightly' or 'dev'"
}
if [ "$1" == "dev" ]; then
DEST=~/brave-${1}
VERSION_FILE=${DEST}/.version
elif [ "$1" == "nightly" ]; then
DEST=~/brave-${1}
VERSION_FILE=${DEST}/.version
elif [ "$1" == "beta" ]; then
DEST=~/brave-${1}
VERSION_FILE=${DEST}/.version
elif [ "$1" == "stable" ]; then
DEST=~/brave-${1}
VERSION_FILE=${DEST}/.version
else
usage
exit 1
fi
echo Brave browser ${1} build updater
LOCAL_VERSION="none" && [ -f $VERSION_FILE ] && LOCAL_VERSION=$(cat $VERSION_FILE)
echo -e "Local version\t: $LOCAL_VERSION"
#Check version on remote
#REMOTE_VERSION=$(wget -q https://dl.google.com/linux/chrome/deb/dists/stable/main/binary-amd64/Packages.gz -O-| gunzip|sed -n '/Package: google-chrome-stable/ {n;p}'|cut -f2 -d\ )
REMOTE_VERSION=$(curl -s https://github.com/brave/brave-browser/releases/latest | grep -Po '(?<=/tag/v)[0-9]+.[0-9]+.[0-9]+')
echo -e "Remote version\t: $REMOTE_VERSION"
if [ "$REMOTE_VERSION" == "$LOCAL_VERSION" ]; then
echo "No update available"
exit
fi
read -sp "Enter to update, Ctrl-C to abort... " && echo
echo Downloading ...
TMPWORK=$(mktemp -d)
cd $TMPWORK
#wget -q --show-progress https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${REMOTE_VERSION}_amd64.deb -O google-chrome-stable_current_amd64.deb
#nightly wget -q --show-progress https://github.com/brave/brave-browser/releases/download/v${REMOTE_VERSION}/brave-browser-nightly_${REMOTE_VERSION}_amd64.deb -O brave-browser-nightly_amd64.deb
#wget -q --show-progress https://github.com/brave/brave-browser/releases/download/v${REMOTE_VERSION}/brave-browser-beta_${REMOTE_VERSION}_amd64.deb -O brave-browser-beta_amd64.deb
if [ "$1" == "stable" ]; then
wget -q --show-progress https://github.com/brave/brave-browser/releases/download/v${REMOTE_VERSION}/brave-browser_${REMOTE_VERSION}_amd64.deb -O brave-browser-${1}_amd64.deb
else
wget -q --show-progress https://github.com/brave/brave-browser/releases/download/v${REMOTE_VERSION}/brave-browser-${1}_${REMOTE_VERSION}_amd64.deb -O brave-browser-${1}_amd64.deb
fi
if [ $? != 0 ]; then
echo "Targte to download not exist !"
echo "Please try 'stable', 'beta', 'nightly' or 'dev'"
exit
fi
echo Extracting ...
#ar x google-chrome-stable_current_amd64.deb data.tar.xz
#nightly ar x brave-browser-nightly_amd64.deb data.tar.xz
#ar x brave-browser-beta_amd64.deb data.tar.xz
ar x brave-browser-${1}_amd64.deb data.tar.xz
rm -rf $DEST
mkdir $DEST
bsdtar -xf data.tar.xz -C $DEST
#adjust path
#sed -e "s%/usr/bin/brave-browser-nightly%/home/hphang/brave/opt/brave.com/brave-nightly/brave-browser-nightly%" -e "s%Icon=brave-browser-nightly%Icon=/home/hphang/brave/opt/brave.com/brave-nightly/product_logo_128_nightly.png%" /home/hphang/brave/usr/share/applications/brave-browser-nightly.desktop > ~/.local/share/applications/brave-browser-nightly.desktop
#nightly sed -e "s%/usr/bin/brave-browser-nightly%${DEST}/opt/brave.com/brave-nightly/brave-browser-nightly%" -e "s%Icon=brave-browser-nightly%Icon=${DEST}/opt/brave.com/brave-nightly/product_logo_128_nightly.png%" ${DEST}/usr/share/applications/brave-browser-nightly.desktop > ~/.local/share/applications/brave-browser-nightly.desktop
#sed -e "s%/usr/bin/brave-browser-beta%${DEST}/opt/brave.com/brave-beta/brave-browser-beta%" -e "s%Icon=brave-browser-beta%Icon=${DEST}/opt/brave.com/brave-beta/product_logo_128_beta.png%" ${DEST}/usr/share/applications/brave-browser-beta.desktop > ~/.local/share/applications/brave-browser-beta.desktop
if [ "$1" == "stable" ]; then
sed -e "s%/usr/bin/brave-browser%${DEST}/opt/brave.com/brave/brave-browser%" -e "s%Icon=brave-browser%Icon=${DEST}/opt/brave.com/brave/product_logo_128.png%" ${DEST}/usr/share/applications/brave-browser.desktop > ~/.local/share/applications/brave-browser.desktop
else
sed -e "s%/usr/bin/brave-browser-${1}%${DEST}/opt/brave.com/brave-${1}/brave-browser-${1}%" -e "s%Icon=brave-browser-${1}%Icon=${DEST}/opt/brave.com/brave-${1}/product_logo_128_${1}.png%" ${DEST}/usr/share/applications/brave-browser-${1}.desktop > ~/.local/share/applications/brave-browser-${1}.desktop
fi
#create a link at Desktop for easy access
if [ "$1" == "stable" ]; then
ln -sf ~/.local/share/applications/brave-browser.desktop ~/Desktop/brave-browser-${1}.desktop
else
ln -sf ~/.local/share/applications/brave-browser-${1}.desktop ~/Desktop/brave-browser-${1}.desktop
fi
#Store version
echo $REMOTE_VERSION > $VERSION_FILE
cd
rm -rf $TMPWORK
echo Done.
#[ $(pgrep -c -f ${DEST}/opt/google/chrome/chrome) -gt 0 ] && echo "Restart Google Chrome to use the latest version."
#nightly [ $(pgrep -c -f ${DEST}/opt/brave.com/brave-nightly/brave) -gt 0 ] && echo "Restart Brave browser to use the latest nightly version."
#[ $(pgrep -c -f ${DEST}/opt/brave.com/brave-beta/brave) -gt 0 ] && echo "Restart Brave browser to use the latest beta version."
if [ "$1" == "stable" ]; then
[ $(pgrep -c -f ${DEST}/opt/brave.com/brave/brave) -gt 0 ] && echo "Restart Brave browser to use the latest stable version."
else
[ $(pgrep -c -f ${DEST}/opt/brave.com/brave-${1}/brave) -gt 0 ] && echo "Restart Brave browser to use the latest ${1} version."
fi
What about synced bookmarks, saved passwords and history?
What about synced bookmarks, saved passwords and history?
they should work as normal as they are saved in you $HOME/.config
directory.
Good to know. I will add a script for auto update.
The script doesn’t work at all. I tried for stable
and dev
releases. No luck.
erase the last )
int the curl line
I tried that. But REMOTE_VERSION will get the latest release version number (it can be dev, release, stable or beta), not the stable release version number. . And wget command fails for at least 3 versions.
The script will refer to this link Release Release v1.47.171 (Chromium 109.0.5414.87) · brave/brave-browser · GitHub to pick which release to install.
E.g.
- if the link point to Dev Channel, then “./install-brave-target.sh dev” will install development edition.
- if the link point to Nightly Channel, then “./install-brave-target.sh nightly” will install nightly edition.
- if the link point to Beta Channel, then “./install-brave-target.sh beta” will install beta edition.
- if the link point to Stable Channel, then “./install-brave-target.sh stable” will install stable edition.
In short, you need to goto Releases · brave/brave-browser · GitHub, verify the green “Latest release” label point to and install accordingly.
As of writing this, the latest release is v0.66.75. And it is the dev channel release. No way /install-brave-target.sh beta
, /install-brave-target.sh nightly
and /install-brave-target.sh stable
commands work.
Correct me if I am wrong…
Yup. only ./install-brave-target.sh dev works.
So, How do we uninstall the Brave browser?
You need to delete all entries where is make with rmp2cpio because brave-browser is not installed,we use the binaries.