@fredlackey/devutils 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/package.json +1 -1
- package/src/commands/install.js +374 -36
- package/src/installs/adobe-creative-cloud.js +527 -25
- package/src/installs/adobe-creative-cloud.md +605 -0
- package/src/installs/appcleaner.js +303 -26
- package/src/installs/appcleaner.md +699 -0
- package/src/installs/apt-transport-https.js +390 -0
- package/src/installs/apt-transport-https.md +678 -0
- package/src/installs/atomicparsley.js +624 -26
- package/src/installs/atomicparsley.md +795 -0
- package/src/installs/aws-cli.js +779 -26
- package/src/installs/aws-cli.md +727 -0
- package/src/installs/balena-etcher.js +688 -26
- package/src/installs/balena-etcher.md +761 -0
- package/src/installs/bambu-studio.js +912 -26
- package/src/installs/bambu-studio.md +780 -0
- package/src/installs/bash-completion.js +554 -23
- package/src/installs/bash-completion.md +833 -0
- package/src/installs/bash.js +399 -26
- package/src/installs/bash.md +993 -0
- package/src/installs/beyond-compare.js +585 -26
- package/src/installs/beyond-compare.md +813 -0
- package/src/installs/build-essential.js +511 -26
- package/src/installs/build-essential.md +977 -0
- package/src/installs/ca-certificates.js +618 -0
- package/src/installs/ca-certificates.md +937 -0
- package/src/installs/caffeine.js +490 -26
- package/src/installs/caffeine.md +839 -0
- package/src/installs/camtasia.js +577 -25
- package/src/installs/camtasia.md +762 -0
- package/src/installs/chatgpt.js +458 -26
- package/src/installs/chatgpt.md +814 -0
- package/src/installs/chocolatey.js +447 -0
- package/src/installs/chocolatey.md +661 -0
- package/src/installs/chrome-canary.js +472 -26
- package/src/installs/chrome-canary.md +641 -0
- package/src/installs/chromium.js +645 -26
- package/src/installs/chromium.md +838 -0
- package/src/installs/claude-code.js +558 -26
- package/src/installs/claude-code.md +1173 -0
- package/src/installs/curl.js +361 -26
- package/src/installs/curl.md +714 -0
- package/src/installs/cursor.js +561 -26
- package/src/installs/cursor.md +970 -0
- package/src/installs/dbschema.js +674 -26
- package/src/installs/dbschema.md +925 -0
- package/src/installs/dependencies.md +435 -0
- package/src/installs/development-tools.js +600 -0
- package/src/installs/development-tools.md +977 -0
- package/src/installs/docker.js +1010 -25
- package/src/installs/docker.md +1109 -0
- package/src/installs/drawio.js +1001 -26
- package/src/installs/drawio.md +795 -0
- package/src/installs/elmedia-player.js +328 -25
- package/src/installs/elmedia-player.md +556 -0
- package/src/installs/ffmpeg.js +870 -25
- package/src/installs/ffmpeg.md +852 -0
- package/src/installs/file.js +464 -0
- package/src/installs/file.md +987 -0
- package/src/installs/gemini-cli.js +793 -26
- package/src/installs/gemini-cli.md +1153 -0
- package/src/installs/git.js +382 -26
- package/src/installs/git.md +907 -0
- package/src/installs/gitego.js +931 -26
- package/src/installs/gitego.md +1172 -0
- package/src/installs/go.js +913 -26
- package/src/installs/go.md +958 -0
- package/src/installs/google-chrome.js +801 -25
- package/src/installs/google-chrome.md +862 -0
- package/src/installs/gpg.js +412 -73
- package/src/installs/gpg.md +1056 -0
- package/src/installs/homebrew.js +1015 -26
- package/src/installs/homebrew.md +988 -0
- package/src/installs/imageoptim.js +950 -26
- package/src/installs/imageoptim.md +1119 -0
- package/src/installs/installers.json +2297 -0
- package/src/installs/jq.js +382 -26
- package/src/installs/jq.md +809 -0
- package/src/installs/keyboard-maestro.js +701 -26
- package/src/installs/keyboard-maestro.md +825 -0
- package/src/installs/latex.js +771 -26
- package/src/installs/latex.md +1095 -0
- package/src/installs/lftp.js +338 -26
- package/src/installs/lftp.md +907 -0
- package/src/installs/lsb-release.js +346 -0
- package/src/installs/lsb-release.md +814 -0
- package/src/installs/messenger.js +829 -26
- package/src/installs/messenger.md +900 -0
- package/src/installs/microsoft-office.js +550 -26
- package/src/installs/microsoft-office.md +760 -0
- package/src/installs/microsoft-teams.js +782 -25
- package/src/installs/microsoft-teams.md +886 -0
- package/src/installs/node.js +886 -26
- package/src/installs/node.md +1153 -0
- package/src/installs/nordpass.js +698 -26
- package/src/installs/nordpass.md +921 -0
- package/src/installs/nvm.js +977 -26
- package/src/installs/nvm.md +1057 -0
- package/src/installs/openssh.js +734 -64
- package/src/installs/openssh.md +1056 -0
- package/src/installs/pandoc.js +644 -26
- package/src/installs/pandoc.md +1036 -0
- package/src/installs/pinentry.js +492 -26
- package/src/installs/pinentry.md +1142 -0
- package/src/installs/pngyu.js +851 -26
- package/src/installs/pngyu.md +896 -0
- package/src/installs/postman.js +781 -26
- package/src/installs/postman.md +940 -0
- package/src/installs/procps.js +425 -0
- package/src/installs/procps.md +851 -0
- package/src/installs/safari-tech-preview.js +355 -25
- package/src/installs/safari-tech-preview.md +533 -0
- package/src/installs/sfnt2woff.js +640 -26
- package/src/installs/sfnt2woff.md +795 -0
- package/src/installs/shellcheck.js +463 -26
- package/src/installs/shellcheck.md +1005 -0
- package/src/installs/slack.js +722 -25
- package/src/installs/slack.md +865 -0
- package/src/installs/snagit.js +566 -25
- package/src/installs/snagit.md +844 -0
- package/src/installs/software-properties-common.js +372 -0
- package/src/installs/software-properties-common.md +805 -0
- package/src/installs/spotify.js +858 -25
- package/src/installs/spotify.md +901 -0
- package/src/installs/studio-3t.js +803 -26
- package/src/installs/studio-3t.md +918 -0
- package/src/installs/sublime-text.js +780 -25
- package/src/installs/sublime-text.md +914 -0
- package/src/installs/superwhisper.js +687 -25
- package/src/installs/superwhisper.md +630 -0
- package/src/installs/tailscale.js +727 -26
- package/src/installs/tailscale.md +1100 -0
- package/src/installs/tar.js +389 -0
- package/src/installs/tar.md +946 -0
- package/src/installs/termius.js +780 -26
- package/src/installs/termius.md +844 -0
- package/src/installs/terraform.js +761 -26
- package/src/installs/terraform.md +899 -0
- package/src/installs/tidal.js +752 -25
- package/src/installs/tidal.md +864 -0
- package/src/installs/tmux.js +328 -26
- package/src/installs/tmux.md +1030 -0
- package/src/installs/tree.js +393 -26
- package/src/installs/tree.md +833 -0
- package/src/installs/unzip.js +460 -0
- package/src/installs/unzip.md +879 -0
- package/src/installs/vim.js +403 -26
- package/src/installs/vim.md +1040 -0
- package/src/installs/vlc.js +803 -26
- package/src/installs/vlc.md +927 -0
- package/src/installs/vscode.js +825 -26
- package/src/installs/vscode.md +1002 -0
- package/src/installs/wget.js +415 -0
- package/src/installs/wget.md +791 -0
- package/src/installs/whatsapp.js +710 -25
- package/src/installs/whatsapp.md +854 -0
- package/src/installs/winpty.js +352 -0
- package/src/installs/winpty.md +620 -0
- package/src/installs/woff2.js +535 -26
- package/src/installs/woff2.md +977 -0
- package/src/installs/wsl.js +572 -0
- package/src/installs/wsl.md +699 -0
- package/src/installs/xcode-clt.js +520 -0
- package/src/installs/xcode-clt.md +351 -0
- package/src/installs/xcode.js +542 -26
- package/src/installs/xcode.md +573 -0
- package/src/installs/yarn.js +806 -26
- package/src/installs/yarn.md +1074 -0
- package/src/installs/yq.js +636 -26
- package/src/installs/yq.md +944 -0
- package/src/installs/yt-dlp.js +683 -26
- package/src/installs/yt-dlp.md +946 -0
- package/src/installs/yum-utils.js +297 -0
- package/src/installs/yum-utils.md +648 -0
- package/src/installs/zoom.js +740 -25
- package/src/installs/zoom.md +884 -0
- package/src/scripts/README.md +567 -45
- package/src/scripts/STATUS.md +208 -0
- package/src/scripts/afk.js +395 -7
- package/src/scripts/backup-all.js +731 -9
- package/src/scripts/backup-source.js +711 -8
- package/src/scripts/brewd.js +373 -7
- package/src/scripts/brewi.js +505 -9
- package/src/scripts/brewr.js +512 -9
- package/src/scripts/brews.js +462 -9
- package/src/scripts/brewu.js +488 -7
- package/src/scripts/c.js +185 -7
- package/src/scripts/ccurl.js +325 -8
- package/src/scripts/certbot-crontab-init.js +488 -8
- package/src/scripts/certbot-init.js +641 -9
- package/src/scripts/ch.js +339 -7
- package/src/scripts/claude-danger.js +253 -8
- package/src/scripts/clean-dev.js +419 -8
- package/src/scripts/clear-dns-cache.js +525 -7
- package/src/scripts/clone.js +417 -7
- package/src/scripts/code-all.js +420 -7
- package/src/scripts/count-files.js +195 -8
- package/src/scripts/count-folders.js +195 -8
- package/src/scripts/count.js +248 -8
- package/src/scripts/d.js +203 -7
- package/src/scripts/datauri.js +373 -8
- package/src/scripts/delete-files.js +363 -7
- package/src/scripts/docker-clean.js +410 -8
- package/src/scripts/dp.js +426 -7
- package/src/scripts/e.js +375 -9
- package/src/scripts/empty-trash.js +497 -7
- package/src/scripts/evm.js +428 -9
- package/src/scripts/fetch-github-repos.js +441 -10
- package/src/scripts/get-channel.js +329 -8
- package/src/scripts/get-course.js +384 -11
- package/src/scripts/get-dependencies.js +290 -9
- package/src/scripts/get-folder.js +783 -10
- package/src/scripts/get-tunes.js +411 -10
- package/src/scripts/get-video.js +352 -9
- package/src/scripts/git-backup.js +561 -9
- package/src/scripts/git-clone.js +477 -9
- package/src/scripts/git-pup.js +303 -7
- package/src/scripts/git-push.js +380 -8
- package/src/scripts/h.js +607 -9
- package/src/scripts/hide-desktop-icons.js +483 -7
- package/src/scripts/hide-hidden-files.js +522 -7
- package/src/scripts/install-dependencies-from.js +440 -9
- package/src/scripts/ips.js +647 -10
- package/src/scripts/iso.js +354 -8
- package/src/scripts/killni.js +561 -7
- package/src/scripts/ll.js +451 -8
- package/src/scripts/local-ip.js +310 -8
- package/src/scripts/m.js +508 -8
- package/src/scripts/map.js +293 -8
- package/src/scripts/mkd.js +287 -7
- package/src/scripts/ncu-update-all.js +441 -8
- package/src/scripts/nginx-init.js +702 -12
- package/src/scripts/npmi.js +366 -7
- package/src/scripts/o.js +495 -8
- package/src/scripts/org-by-date.js +321 -7
- package/src/scripts/p.js +208 -7
- package/src/scripts/packages.js +313 -8
- package/src/scripts/path.js +209 -7
- package/src/scripts/ports.js +582 -8
- package/src/scripts/q.js +290 -8
- package/src/scripts/refresh-files.js +378 -10
- package/src/scripts/remove-smaller-files.js +500 -8
- package/src/scripts/rename-files-with-date.js +517 -9
- package/src/scripts/resize-image.js +523 -9
- package/src/scripts/rm-safe.js +653 -8
- package/src/scripts/s.js +525 -9
- package/src/scripts/set-git-public.js +349 -7
- package/src/scripts/show-desktop-icons.js +459 -7
- package/src/scripts/show-hidden-files.js +456 -7
- package/src/scripts/tpa.js +265 -8
- package/src/scripts/tpo.js +264 -7
- package/src/scripts/u.js +489 -7
- package/src/scripts/vpush.js +422 -8
- package/src/scripts/y.js +267 -7
- package/src/utils/common/os.js +94 -2
- package/src/utils/ubuntu/apt.js +13 -7
- package/src/utils/windows/choco.js +82 -26
- package/src/utils/windows/winget.js +89 -27
|
@@ -0,0 +1,862 @@
|
|
|
1
|
+
# Installing Google Chrome
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Google Chrome is a fast, secure, and free web browser built by Google. It is the most widely used web browser globally, known for its speed, simplicity, and robust developer tools. Chrome features automatic updates, built-in PDF viewer, password manager, translation capabilities, and extensive support for web standards. For developers, Chrome DevTools provides powerful debugging and performance analysis capabilities that make it an essential tool for web development.
|
|
6
|
+
|
|
7
|
+
**Important**: Google Chrome is a proprietary browser. If you need an open-source alternative, consider Chromium (the open-source project Chrome is built upon). However, Chromium lacks some features like automatic updates, proprietary media codecs (for services like Netflix), and certain Google integrations.
|
|
8
|
+
|
|
9
|
+
## Dependencies
|
|
10
|
+
|
|
11
|
+
### macOS (Homebrew)
|
|
12
|
+
- **Required:**
|
|
13
|
+
- `Homebrew` - Install via `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` or run `dev install homebrew`
|
|
14
|
+
- **Optional:** None
|
|
15
|
+
- **Auto-installed:** None (Homebrew cask handles Chrome installation directly)
|
|
16
|
+
|
|
17
|
+
### Ubuntu (APT/Snap)
|
|
18
|
+
- **Required:**
|
|
19
|
+
- `wget` - Install via `sudo apt-get install -y wget`
|
|
20
|
+
- `sudo` privileges - Required for package installation
|
|
21
|
+
- **Optional:** None
|
|
22
|
+
- **Auto-installed:**
|
|
23
|
+
- Chrome dependencies (libraries for graphics, fonts, audio) - Automatically resolved by `apt-get install -f` during .deb package installation
|
|
24
|
+
|
|
25
|
+
### Raspberry Pi OS (APT/Snap)
|
|
26
|
+
- **Required:** Installation not supported on this platform. Google Chrome does not support ARM architecture. Use Chromium instead via `sudo apt-get install -y chromium-browser` or `sudo apt-get install -y chromium`
|
|
27
|
+
- **Optional:** None
|
|
28
|
+
- **Auto-installed:** None
|
|
29
|
+
|
|
30
|
+
### Amazon Linux (DNF/YUM)
|
|
31
|
+
- **Required:**
|
|
32
|
+
- `dnf` or `yum` - Pre-installed on Amazon Linux 2023 (dnf) or Amazon Linux 2 (yum)
|
|
33
|
+
- `sudo` privileges - Required for package installation
|
|
34
|
+
- **Optional:**
|
|
35
|
+
- `xorg-x11-server-Xvfb` - Install via `sudo dnf install -y xorg-x11-server-Xvfb` (required only for headless operation with virtual framebuffer)
|
|
36
|
+
- **Auto-installed:**
|
|
37
|
+
- Graphics and GUI libraries (`libXcomposite`, `libXdamage`, `libXrandr`, `libgbm`, `libxkbcommon`, `pango`, `alsa-lib`, `atk`, `at-spi2-atk`, `cups-libs`, `libdrm`, `mesa-libgbm`) - Automatically resolved by DNF/YUM during RPM installation
|
|
38
|
+
|
|
39
|
+
### Windows (Chocolatey/winget)
|
|
40
|
+
- **Required:**
|
|
41
|
+
- Either `winget` (included in Windows 10 version 2004+ and Windows 11) or `Chocolatey` - Install Chocolatey via PowerShell: `Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))`
|
|
42
|
+
- Administrator privileges - Required for system-wide installation
|
|
43
|
+
- **Optional:** None
|
|
44
|
+
- **Auto-installed:** None (Chrome installer handles all dependencies)
|
|
45
|
+
|
|
46
|
+
### Git Bash (Manual/Portable)
|
|
47
|
+
- **Required:**
|
|
48
|
+
- `PowerShell` - Pre-installed on Windows, used to invoke package managers
|
|
49
|
+
- Either `winget` or `Chocolatey` on Windows host - See Windows section above for installation instructions
|
|
50
|
+
- Administrator privileges - Required for installation via PowerShell
|
|
51
|
+
- **Optional:** None
|
|
52
|
+
- **Auto-installed:** None (Chrome installer on Windows host handles all dependencies)
|
|
53
|
+
|
|
54
|
+
## Prerequisites
|
|
55
|
+
|
|
56
|
+
Before installing Google Chrome on any platform, ensure:
|
|
57
|
+
|
|
58
|
+
1. **Internet connectivity** - Required to download the browser package
|
|
59
|
+
2. **Administrative privileges** - Required on most platforms for system-wide installation
|
|
60
|
+
3. **Sufficient disk space** - Chrome requires approximately 500 MB of disk space
|
|
61
|
+
4. **64-bit operating system** - Modern Chrome versions require a 64-bit system (except for Windows, which still offers 32-bit builds)
|
|
62
|
+
|
|
63
|
+
## Platform-Specific Installation
|
|
64
|
+
|
|
65
|
+
### macOS (Homebrew)
|
|
66
|
+
|
|
67
|
+
#### Prerequisites
|
|
68
|
+
|
|
69
|
+
- macOS 12 (Monterey) or later
|
|
70
|
+
- Homebrew package manager installed
|
|
71
|
+
- Terminal access
|
|
72
|
+
|
|
73
|
+
If Homebrew is not installed, install it first:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
#### Installation Steps
|
|
80
|
+
|
|
81
|
+
Run the following command to install Google Chrome:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
brew install --cask --quiet google-chrome
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
The `--cask` flag specifies a graphical application (as opposed to a command-line tool), and `--quiet` suppresses non-essential output, making the command suitable for automation scripts.
|
|
88
|
+
|
|
89
|
+
After installation, Chrome will be available in the Applications folder. Launch it from the command line:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
open -a "Google Chrome"
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
#### Verification
|
|
96
|
+
|
|
97
|
+
Confirm the installation succeeded:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
ls /Applications/Google\ Chrome.app && echo "Google Chrome installed successfully"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Verify the installed version:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Expected output (version numbers may vary):
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
Google Chrome 143.0.7499.170
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
#### Troubleshooting
|
|
116
|
+
|
|
117
|
+
**Problem**: `brew: command not found`
|
|
118
|
+
|
|
119
|
+
**Solution**: Homebrew is not in your PATH. Add it:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
eval "$(/opt/homebrew/bin/brew shellenv)"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
For a permanent fix, add the above line to your `~/.zshrc` or `~/.bash_profile`.
|
|
126
|
+
|
|
127
|
+
**Problem**: Chrome fails to open after installation
|
|
128
|
+
|
|
129
|
+
**Solution**: macOS Gatekeeper may block the application. Allow it by going to System Preferences > Security & Privacy > General, and click "Open Anyway" next to the Chrome message. Alternatively, remove the quarantine attribute:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
xattr -cr /Applications/Google\ Chrome.app
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
**Problem**: Installation fails with "Cask 'google-chrome' is already installed"
|
|
136
|
+
|
|
137
|
+
**Solution**: Reinstall the cask:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
brew reinstall --cask google-chrome
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
### Ubuntu/Debian (APT)
|
|
146
|
+
|
|
147
|
+
#### Prerequisites
|
|
148
|
+
|
|
149
|
+
- Ubuntu 18.04 or later, or Debian 10 or later (64-bit only)
|
|
150
|
+
- sudo privileges
|
|
151
|
+
- wget or curl installed
|
|
152
|
+
|
|
153
|
+
**Important**: Google Chrome is not available in the default Ubuntu/Debian repositories. Use Google's official repository for installation and automatic updates.
|
|
154
|
+
|
|
155
|
+
#### Installation Steps
|
|
156
|
+
|
|
157
|
+
**Step 1: Download and install Chrome directly**
|
|
158
|
+
|
|
159
|
+
The simplest method is to download and install the .deb package directly:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
|
|
163
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y ./google-chrome-stable_current_amd64.deb
|
|
164
|
+
rm google-chrome-stable_current_amd64.deb
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
This method automatically adds Google's repository to your system, enabling future updates through `apt-get upgrade`.
|
|
168
|
+
|
|
169
|
+
**Alternative: Set up the repository manually first**
|
|
170
|
+
|
|
171
|
+
If you prefer to set up the repository before installation:
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# Install prerequisites
|
|
175
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
176
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget gnupg
|
|
177
|
+
|
|
178
|
+
# Add Google's GPG signing key
|
|
179
|
+
wget -qO - https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/google-chrome.gpg > /dev/null
|
|
180
|
+
|
|
181
|
+
# Add the Chrome repository
|
|
182
|
+
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list > /dev/null
|
|
183
|
+
|
|
184
|
+
# Update and install
|
|
185
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
186
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y google-chrome-stable
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
The `DEBIAN_FRONTEND=noninteractive` environment variable ensures the installation proceeds without prompts, making it suitable for automation scripts.
|
|
190
|
+
|
|
191
|
+
#### Verification
|
|
192
|
+
|
|
193
|
+
Confirm the installation succeeded:
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
google-chrome --version
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Expected output (version numbers may vary):
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
Google Chrome 143.0.7499.170
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
Launch Chrome:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
google-chrome &
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
#### Troubleshooting
|
|
212
|
+
|
|
213
|
+
**Problem**: `E: Unable to locate package google-chrome-stable`
|
|
214
|
+
|
|
215
|
+
**Solution**: The repository was not added correctly. Verify the configuration file exists:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
cat /etc/apt/sources.list.d/google-chrome.list
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
If the file is empty or missing, repeat the installation steps.
|
|
222
|
+
|
|
223
|
+
**Problem**: GPG key error during apt-get update
|
|
224
|
+
|
|
225
|
+
**Solution**: Re-add the GPG key:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
wget -qO - https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/google-chrome.gpg > /dev/null
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
**Problem**: Chrome fails to start with "running as root without --no-sandbox"
|
|
232
|
+
|
|
233
|
+
**Solution**: Chrome cannot run as the root user without disabling the sandbox. Create a regular user account and run Chrome from there, or add the `--no-sandbox` flag (not recommended for security reasons):
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
google-chrome --no-sandbox
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Problem**: Missing dependencies error
|
|
240
|
+
|
|
241
|
+
**Solution**: Install the missing dependencies:
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -f
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
### Raspberry Pi OS (APT)
|
|
250
|
+
|
|
251
|
+
#### Prerequisites
|
|
252
|
+
|
|
253
|
+
- Raspberry Pi OS (32-bit or 64-bit)
|
|
254
|
+
- Raspberry Pi 3 or later recommended
|
|
255
|
+
- sudo privileges
|
|
256
|
+
|
|
257
|
+
**Critical Limitation**: Google Chrome does NOT support ARM architecture. Google only provides x86/x64 builds of Chrome, and Raspberry Pi uses ARM processors. This means Google Chrome cannot be installed natively on any Raspberry Pi device.
|
|
258
|
+
|
|
259
|
+
#### Installation Steps
|
|
260
|
+
|
|
261
|
+
**Use Chromium instead of Google Chrome.**
|
|
262
|
+
|
|
263
|
+
Chromium is the open-source browser that Chrome is built upon. It is included in the Raspberry Pi OS repositories with ARM-specific optimizations:
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
267
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y chromium-browser
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
**Note**: On newer versions of Raspberry Pi OS, the package may be named `chromium` instead of `chromium-browser`:
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y chromium
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
#### Verification
|
|
277
|
+
|
|
278
|
+
Confirm the installation succeeded:
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
chromium-browser --version 2>/dev/null || chromium --version
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Expected output (version numbers may vary):
|
|
285
|
+
|
|
286
|
+
```
|
|
287
|
+
Chromium 120.0.6099.216 Built on Raspberry Pi OS/Debian
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
Launch Chromium:
|
|
291
|
+
|
|
292
|
+
```bash
|
|
293
|
+
chromium-browser 2>/dev/null || chromium &
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
#### Troubleshooting
|
|
297
|
+
|
|
298
|
+
**Problem**: Why can't I install actual Google Chrome?
|
|
299
|
+
|
|
300
|
+
**Solution**: Google does not provide ARM builds of Chrome for Linux. The only Chrome versions available for ARM are for Chrome OS (Chromebooks) and Android, neither of which is compatible with Raspberry Pi OS. Chromium is the recommended alternative and provides nearly identical functionality.
|
|
301
|
+
|
|
302
|
+
**Problem**: Chromium is slow or crashes
|
|
303
|
+
|
|
304
|
+
**Solution**: Raspberry Pi has limited resources. Launch with performance flags:
|
|
305
|
+
|
|
306
|
+
```bash
|
|
307
|
+
chromium-browser --disable-gpu --disable-software-rasterizer --memory-pressure-off
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
**Problem**: Video streaming services (Netflix, Hulu) do not work
|
|
311
|
+
|
|
312
|
+
**Solution**: Chromium does not include Widevine DRM by default on Raspberry Pi. Some services require proprietary DRM components that are not available. Consider using a dedicated streaming device for these services.
|
|
313
|
+
|
|
314
|
+
**Problem**: `chromium-browser: command not found`
|
|
315
|
+
|
|
316
|
+
**Solution**: The command name varies by Raspberry Pi OS version. Try `chromium` instead:
|
|
317
|
+
|
|
318
|
+
```bash
|
|
319
|
+
chromium --version
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
### Amazon Linux (DNF/YUM)
|
|
325
|
+
|
|
326
|
+
#### Prerequisites
|
|
327
|
+
|
|
328
|
+
- Amazon Linux 2023 (AL2023) recommended
|
|
329
|
+
- Amazon Linux 2 (AL2) is supported but reached end of standard support on June 30, 2025
|
|
330
|
+
- sudo privileges
|
|
331
|
+
- x86_64 architecture (ARM/Graviton instances require alternative approaches)
|
|
332
|
+
|
|
333
|
+
**Important**: Google does not officially support Chrome on Amazon Linux. However, the Chrome RPM package installs successfully on Amazon Linux 2023 using DNF.
|
|
334
|
+
|
|
335
|
+
#### Installation Steps
|
|
336
|
+
|
|
337
|
+
**For Amazon Linux 2023:**
|
|
338
|
+
|
|
339
|
+
Install Google Chrome directly from Google's repository:
|
|
340
|
+
|
|
341
|
+
```bash
|
|
342
|
+
sudo dnf install -y https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
This command downloads and installs the Chrome RPM package along with all required dependencies.
|
|
346
|
+
|
|
347
|
+
**For Amazon Linux 2 (legacy):**
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
sudo yum install -y https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
**Note**: Amazon Linux 2 has reached end of standard support. Newer versions of Chrome may not be fully compatible. Migrate to Amazon Linux 2023 for continued support.
|
|
354
|
+
|
|
355
|
+
#### Verification
|
|
356
|
+
|
|
357
|
+
Confirm the installation succeeded:
|
|
358
|
+
|
|
359
|
+
```bash
|
|
360
|
+
google-chrome-stable --version
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
Expected output (version numbers may vary):
|
|
364
|
+
|
|
365
|
+
```
|
|
366
|
+
Google Chrome 143.0.7499.170
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
#### Troubleshooting
|
|
370
|
+
|
|
371
|
+
**Problem**: Missing dependencies when installing
|
|
372
|
+
|
|
373
|
+
**Solution**: Install common dependencies first:
|
|
374
|
+
|
|
375
|
+
```bash
|
|
376
|
+
sudo dnf install -y libXcomposite libXdamage libXrandr libgbm libxkbcommon pango alsa-lib atk at-spi2-atk cups-libs libdrm mesa-libgbm
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
Then retry the Chrome installation.
|
|
380
|
+
|
|
381
|
+
**Problem**: Chrome crashes with sandbox errors
|
|
382
|
+
|
|
383
|
+
**Solution**: On Amazon Linux, especially on EC2 instances, the sandbox may have issues. For headless/automated use, disable the sandbox (use only in trusted environments):
|
|
384
|
+
|
|
385
|
+
```bash
|
|
386
|
+
google-chrome-stable --no-sandbox --headless
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
**Problem**: Chrome fails to run on Graviton (ARM) instances
|
|
390
|
+
|
|
391
|
+
**Solution**: Google Chrome does not provide ARM Linux builds. On Graviton instances, you have two options:
|
|
392
|
+
|
|
393
|
+
1. Use a headless browser solution that supports ARM (e.g., Playwright with Chromium)
|
|
394
|
+
2. Use a remote Chrome instance on an x86_64 machine
|
|
395
|
+
|
|
396
|
+
**Problem**: Need to run headless Chrome for automation
|
|
397
|
+
|
|
398
|
+
**Solution**: Install a virtual framebuffer for headless operation:
|
|
399
|
+
|
|
400
|
+
```bash
|
|
401
|
+
sudo dnf install -y xorg-x11-server-Xvfb
|
|
402
|
+
xvfb-run google-chrome-stable --headless --dump-dom https://example.com
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
---
|
|
406
|
+
|
|
407
|
+
### Windows (Chocolatey/winget)
|
|
408
|
+
|
|
409
|
+
#### Prerequisites
|
|
410
|
+
|
|
411
|
+
- Windows 10 version 1809 or later, or Windows 11
|
|
412
|
+
- Administrator PowerShell or Command Prompt
|
|
413
|
+
- Chocolatey or winget package manager installed
|
|
414
|
+
|
|
415
|
+
**Installing Chocolatey** (if not already installed):
|
|
416
|
+
|
|
417
|
+
Run this command in an Administrator PowerShell:
|
|
418
|
+
|
|
419
|
+
```powershell
|
|
420
|
+
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
**Note**: winget is included by default in Windows 10 (2004 and later) and Windows 11.
|
|
424
|
+
|
|
425
|
+
#### Installation Steps
|
|
426
|
+
|
|
427
|
+
**Using Chocolatey:**
|
|
428
|
+
|
|
429
|
+
Run the following command in an Administrator PowerShell or Command Prompt:
|
|
430
|
+
|
|
431
|
+
```powershell
|
|
432
|
+
choco install googlechrome -y
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
The `-y` flag automatically confirms all prompts, enabling fully non-interactive installation.
|
|
436
|
+
|
|
437
|
+
**Using winget:**
|
|
438
|
+
|
|
439
|
+
Run the following command in PowerShell or Command Prompt:
|
|
440
|
+
|
|
441
|
+
```powershell
|
|
442
|
+
winget install --id Google.Chrome --silent --accept-package-agreements --accept-source-agreements
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
The `--silent` flag suppresses the installer UI, and the `--accept-*` flags prevent license agreement prompts.
|
|
446
|
+
|
|
447
|
+
For system-wide installation (all users), add the `--scope machine` flag:
|
|
448
|
+
|
|
449
|
+
```powershell
|
|
450
|
+
winget install --id Google.Chrome --silent --scope machine --accept-package-agreements --accept-source-agreements
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
**Note**: System-wide installation requires Administrator privileges.
|
|
454
|
+
|
|
455
|
+
#### Verification
|
|
456
|
+
|
|
457
|
+
Open a new Command Prompt or PowerShell window (required for PATH updates), then run:
|
|
458
|
+
|
|
459
|
+
```powershell
|
|
460
|
+
"C:\Program Files\Google\Chrome\Application\chrome.exe" --version
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
Expected output (version numbers may vary):
|
|
464
|
+
|
|
465
|
+
```
|
|
466
|
+
Google Chrome 143.0.7499.170
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
#### Troubleshooting
|
|
470
|
+
|
|
471
|
+
**Problem**: `choco: The term 'choco' is not recognized`
|
|
472
|
+
|
|
473
|
+
**Solution**: Close all terminal windows and open a new Administrator PowerShell. Chocolatey should be available after a fresh terminal session.
|
|
474
|
+
|
|
475
|
+
**Problem**: Installation fails with access denied
|
|
476
|
+
|
|
477
|
+
**Solution**: Ensure you are running PowerShell or Command Prompt as Administrator. Right-click the application and select "Run as administrator".
|
|
478
|
+
|
|
479
|
+
**Problem**: winget shows "No applicable installer found"
|
|
480
|
+
|
|
481
|
+
**Solution**: Update winget to the latest version:
|
|
482
|
+
|
|
483
|
+
```powershell
|
|
484
|
+
winget upgrade --id Microsoft.AppInstaller --silent --accept-package-agreements --accept-source-agreements
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
**Problem**: Chrome installs but does not appear in PATH
|
|
488
|
+
|
|
489
|
+
**Solution**: Chrome is not added to PATH by default on Windows. Use the full path to the executable, or add it to your PATH manually:
|
|
490
|
+
|
|
491
|
+
```powershell
|
|
492
|
+
$env:Path += ";C:\Program Files\Google\Chrome\Application"
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
For permanent PATH modification, add through System Properties > Environment Variables.
|
|
496
|
+
|
|
497
|
+
---
|
|
498
|
+
|
|
499
|
+
### WSL (Ubuntu)
|
|
500
|
+
|
|
501
|
+
#### Prerequisites
|
|
502
|
+
|
|
503
|
+
- Windows 10 version 2004 or higher, or Windows 11
|
|
504
|
+
- WSL 2 with Ubuntu distribution installed
|
|
505
|
+
- WSLg enabled (included by default in Windows 11 and Windows 10 21H2+)
|
|
506
|
+
- sudo privileges within WSL
|
|
507
|
+
|
|
508
|
+
**Important**: Running GUI applications in WSL requires WSLg (Windows Subsystem for Linux GUI). WSL 1 does not support GUI applications.
|
|
509
|
+
|
|
510
|
+
To verify WSL version:
|
|
511
|
+
|
|
512
|
+
```bash
|
|
513
|
+
wsl --list --verbose
|
|
514
|
+
```
|
|
515
|
+
|
|
516
|
+
Ensure your Ubuntu distribution shows "VERSION 2".
|
|
517
|
+
|
|
518
|
+
#### Installation Steps
|
|
519
|
+
|
|
520
|
+
Install Google Chrome using the same method as Ubuntu:
|
|
521
|
+
|
|
522
|
+
```bash
|
|
523
|
+
wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
|
|
524
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
525
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y ./google-chrome-stable_current_amd64.deb
|
|
526
|
+
rm google-chrome-stable_current_amd64.deb
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
#### Verification
|
|
530
|
+
|
|
531
|
+
Confirm the installation succeeded:
|
|
532
|
+
|
|
533
|
+
```bash
|
|
534
|
+
google-chrome --version
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
Expected output (version numbers may vary):
|
|
538
|
+
|
|
539
|
+
```
|
|
540
|
+
Google Chrome 143.0.7499.170
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
Launch Chrome (requires WSLg):
|
|
544
|
+
|
|
545
|
+
```bash
|
|
546
|
+
google-chrome &
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
#### Troubleshooting
|
|
550
|
+
|
|
551
|
+
**Problem**: "cannot open display" error
|
|
552
|
+
|
|
553
|
+
**Solution**: WSLg may not be properly configured. Ensure you are running WSL 2 and update WSL:
|
|
554
|
+
|
|
555
|
+
```powershell
|
|
556
|
+
# Run in Windows PowerShell (not WSL)
|
|
557
|
+
wsl --update
|
|
558
|
+
wsl --shutdown
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
Then reopen your WSL terminal.
|
|
562
|
+
|
|
563
|
+
**Problem**: Chrome crashes with sandbox errors
|
|
564
|
+
|
|
565
|
+
**Solution**: WSL has limitations with Linux security namespaces. Run Chrome with the sandbox disabled:
|
|
566
|
+
|
|
567
|
+
```bash
|
|
568
|
+
google-chrome --no-sandbox
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
**Warning**: Disabling the sandbox reduces security. Use only for development and testing, not for general browsing.
|
|
572
|
+
|
|
573
|
+
**Problem**: Extremely slow performance or high CPU usage
|
|
574
|
+
|
|
575
|
+
**Solution**: GUI applications in WSL have overhead. For automated testing, use headless mode:
|
|
576
|
+
|
|
577
|
+
```bash
|
|
578
|
+
google-chrome --headless --disable-gpu --dump-dom https://example.com
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
**Problem**: "Running as root without --no-sandbox is not supported"
|
|
582
|
+
|
|
583
|
+
**Solution**: Do not run Chrome as the root user. Switch to a regular user:
|
|
584
|
+
|
|
585
|
+
```bash
|
|
586
|
+
sudo -u $SUDO_USER google-chrome
|
|
587
|
+
```
|
|
588
|
+
|
|
589
|
+
Or create a new user if needed.
|
|
590
|
+
|
|
591
|
+
---
|
|
592
|
+
|
|
593
|
+
### Git Bash (Windows Installation)
|
|
594
|
+
|
|
595
|
+
#### Prerequisites
|
|
596
|
+
|
|
597
|
+
- Windows 10 or Windows 11
|
|
598
|
+
- Git Bash installed (comes with Git for Windows)
|
|
599
|
+
- Google Chrome installed on Windows (see Windows section above)
|
|
600
|
+
|
|
601
|
+
**Important**: Git Bash runs within the Windows environment and inherits the Windows PATH. There is no separate Chrome installation for Git Bash - you use the Chrome installed on Windows.
|
|
602
|
+
|
|
603
|
+
#### Installation Steps
|
|
604
|
+
|
|
605
|
+
Install Chrome on Windows using Chocolatey or winget (from PowerShell as Administrator), then access it from Git Bash.
|
|
606
|
+
|
|
607
|
+
**Step 1: Install Chrome on Windows**
|
|
608
|
+
|
|
609
|
+
From an Administrator PowerShell:
|
|
610
|
+
|
|
611
|
+
```powershell
|
|
612
|
+
choco install googlechrome -y
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
Or using winget:
|
|
616
|
+
|
|
617
|
+
```powershell
|
|
618
|
+
winget install --id Google.Chrome --silent --accept-package-agreements --accept-source-agreements
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
**Step 2: Access Chrome from Git Bash**
|
|
622
|
+
|
|
623
|
+
Chrome will be accessible in Git Bash after Windows installation. The executable is located at:
|
|
624
|
+
|
|
625
|
+
```bash
|
|
626
|
+
"/c/Program Files/Google/Chrome/Application/chrome.exe"
|
|
627
|
+
```
|
|
628
|
+
|
|
629
|
+
Create an alias for convenience by adding to your `~/.bashrc`:
|
|
630
|
+
|
|
631
|
+
```bash
|
|
632
|
+
echo 'alias chrome="/c/Program\ Files/Google/Chrome/Application/chrome.exe"' >> ~/.bashrc
|
|
633
|
+
source ~/.bashrc
|
|
634
|
+
```
|
|
635
|
+
|
|
636
|
+
#### Verification
|
|
637
|
+
|
|
638
|
+
Confirm Chrome is accessible from Git Bash:
|
|
639
|
+
|
|
640
|
+
```bash
|
|
641
|
+
"/c/Program Files/Google/Chrome/Application/chrome.exe" --version
|
|
642
|
+
```
|
|
643
|
+
|
|
644
|
+
Expected output (version numbers may vary):
|
|
645
|
+
|
|
646
|
+
```
|
|
647
|
+
Google Chrome 143.0.7499.170
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
With the alias configured:
|
|
651
|
+
|
|
652
|
+
```bash
|
|
653
|
+
chrome --version
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
#### Troubleshooting
|
|
657
|
+
|
|
658
|
+
**Problem**: Chrome executable not found
|
|
659
|
+
|
|
660
|
+
**Solution**: Verify Chrome is installed on Windows. Check the installation path:
|
|
661
|
+
|
|
662
|
+
```bash
|
|
663
|
+
ls "/c/Program Files/Google/Chrome/Application/chrome.exe"
|
|
664
|
+
```
|
|
665
|
+
|
|
666
|
+
If Chrome is installed in a different location (user installation), check:
|
|
667
|
+
|
|
668
|
+
```bash
|
|
669
|
+
ls "$LOCALAPPDATA/Google/Chrome/Application/chrome.exe"
|
|
670
|
+
```
|
|
671
|
+
|
|
672
|
+
**Problem**: "the input device is not a TTY" error
|
|
673
|
+
|
|
674
|
+
**Solution**: Git Bash's mintty terminal has TTY compatibility issues with some Windows applications. Use the `winpty` prefix:
|
|
675
|
+
|
|
676
|
+
```bash
|
|
677
|
+
winpty "/c/Program Files/Google/Chrome/Application/chrome.exe"
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
**Problem**: Chrome opens but PATH-based command does not work
|
|
681
|
+
|
|
682
|
+
**Solution**: Add Chrome to your Git Bash PATH in `~/.bashrc`:
|
|
683
|
+
|
|
684
|
+
```bash
|
|
685
|
+
export PATH="$PATH:/c/Program Files/Google/Chrome/Application"
|
|
686
|
+
```
|
|
687
|
+
|
|
688
|
+
Then reload:
|
|
689
|
+
|
|
690
|
+
```bash
|
|
691
|
+
source ~/.bashrc
|
|
692
|
+
```
|
|
693
|
+
|
|
694
|
+
---
|
|
695
|
+
|
|
696
|
+
## Post-Installation Configuration
|
|
697
|
+
|
|
698
|
+
After installing Google Chrome on any platform, consider these optional configurations.
|
|
699
|
+
|
|
700
|
+
### Set Chrome as Default Browser
|
|
701
|
+
|
|
702
|
+
**macOS:**
|
|
703
|
+
|
|
704
|
+
```bash
|
|
705
|
+
open -a "Google Chrome"
|
|
706
|
+
# Then go to Chrome menu > Settings > Default browser > Make default
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
**Ubuntu/Debian:**
|
|
710
|
+
|
|
711
|
+
```bash
|
|
712
|
+
sudo update-alternatives --set x-www-browser /usr/bin/google-chrome-stable
|
|
713
|
+
sudo update-alternatives --set gnome-www-browser /usr/bin/google-chrome-stable
|
|
714
|
+
```
|
|
715
|
+
|
|
716
|
+
**Windows (via Settings UI):**
|
|
717
|
+
|
|
718
|
+
```powershell
|
|
719
|
+
start ms-settings:defaultapps
|
|
720
|
+
```
|
|
721
|
+
|
|
722
|
+
Navigate to Web browser and select Google Chrome.
|
|
723
|
+
|
|
724
|
+
### Configure for Headless Automation
|
|
725
|
+
|
|
726
|
+
For CI/CD pipelines and automated testing, use these flags:
|
|
727
|
+
|
|
728
|
+
```bash
|
|
729
|
+
google-chrome --headless --disable-gpu --no-sandbox --disable-dev-shm-usage
|
|
730
|
+
```
|
|
731
|
+
|
|
732
|
+
**Flag explanations:**
|
|
733
|
+
- `--headless`: Run without a GUI (new headless mode in Chrome 112+)
|
|
734
|
+
- `--disable-gpu`: Disable GPU hardware acceleration (required in many server environments)
|
|
735
|
+
- `--no-sandbox`: Disable the sandbox (use only in trusted/containerized environments)
|
|
736
|
+
- `--disable-dev-shm-usage`: Use /tmp instead of /dev/shm (prevents crashes in Docker containers)
|
|
737
|
+
|
|
738
|
+
### Set Up Custom User Data Directory
|
|
739
|
+
|
|
740
|
+
Store Chrome profiles in a custom location for isolated testing:
|
|
741
|
+
|
|
742
|
+
```bash
|
|
743
|
+
google-chrome --user-data-dir=/path/to/custom/profile
|
|
744
|
+
```
|
|
745
|
+
|
|
746
|
+
### Enable Developer Tools on Startup
|
|
747
|
+
|
|
748
|
+
Launch Chrome with DevTools automatically open:
|
|
749
|
+
|
|
750
|
+
```bash
|
|
751
|
+
google-chrome --auto-open-devtools-for-tabs
|
|
752
|
+
```
|
|
753
|
+
|
|
754
|
+
---
|
|
755
|
+
|
|
756
|
+
## Common Issues
|
|
757
|
+
|
|
758
|
+
### Issue: Chrome Does Not Auto-Update (Linux)
|
|
759
|
+
|
|
760
|
+
**Symptoms**: Chrome version remains old despite updates being available.
|
|
761
|
+
|
|
762
|
+
**Solutions**:
|
|
763
|
+
|
|
764
|
+
On Debian/Ubuntu, Chrome adds its repository automatically. Update with:
|
|
765
|
+
|
|
766
|
+
```bash
|
|
767
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
768
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y google-chrome-stable
|
|
769
|
+
```
|
|
770
|
+
|
|
771
|
+
On Amazon Linux:
|
|
772
|
+
|
|
773
|
+
```bash
|
|
774
|
+
sudo dnf upgrade -y google-chrome-stable
|
|
775
|
+
```
|
|
776
|
+
|
|
777
|
+
### Issue: High Memory Usage
|
|
778
|
+
|
|
779
|
+
**Symptoms**: System becomes slow, Chrome uses excessive RAM.
|
|
780
|
+
|
|
781
|
+
**Solutions**:
|
|
782
|
+
|
|
783
|
+
1. Close unused tabs
|
|
784
|
+
2. Use Chrome's built-in Task Manager (Shift+Esc) to identify memory-heavy tabs/extensions
|
|
785
|
+
3. Disable or remove unused extensions
|
|
786
|
+
4. Launch with memory flags:
|
|
787
|
+
|
|
788
|
+
```bash
|
|
789
|
+
google-chrome --memory-pressure-off --max_old_space_size=2048
|
|
790
|
+
```
|
|
791
|
+
|
|
792
|
+
### Issue: Chrome Crashes on Startup
|
|
793
|
+
|
|
794
|
+
**Symptoms**: Chrome opens briefly and immediately closes, or shows "Aw, Snap!" errors.
|
|
795
|
+
|
|
796
|
+
**Solutions**:
|
|
797
|
+
|
|
798
|
+
1. Clear the user profile cache:
|
|
799
|
+
|
|
800
|
+
```bash
|
|
801
|
+
# Linux/macOS
|
|
802
|
+
rm -rf ~/.config/google-chrome/Default/Cache
|
|
803
|
+
rm -rf ~/.config/google-chrome/Default/Code\ Cache
|
|
804
|
+
|
|
805
|
+
# Windows (Git Bash)
|
|
806
|
+
rm -rf "$LOCALAPPDATA/Google/Chrome/User Data/Default/Cache"
|
|
807
|
+
```
|
|
808
|
+
|
|
809
|
+
2. Disable hardware acceleration:
|
|
810
|
+
|
|
811
|
+
```bash
|
|
812
|
+
google-chrome --disable-gpu
|
|
813
|
+
```
|
|
814
|
+
|
|
815
|
+
3. Reset Chrome to default settings (backup bookmarks first).
|
|
816
|
+
|
|
817
|
+
### Issue: Certificate Errors on Internal Sites
|
|
818
|
+
|
|
819
|
+
**Symptoms**: `NET::ERR_CERT_AUTHORITY_INVALID` errors on internal or self-signed certificates.
|
|
820
|
+
|
|
821
|
+
**Solutions**:
|
|
822
|
+
|
|
823
|
+
1. Import your organization's CA certificate to the system trust store
|
|
824
|
+
2. For development only, bypass certificate errors:
|
|
825
|
+
|
|
826
|
+
```bash
|
|
827
|
+
google-chrome --ignore-certificate-errors
|
|
828
|
+
```
|
|
829
|
+
|
|
830
|
+
**Warning**: Never use `--ignore-certificate-errors` for general browsing.
|
|
831
|
+
|
|
832
|
+
### Issue: PDF Files Download Instead of Opening
|
|
833
|
+
|
|
834
|
+
**Symptoms**: PDFs download automatically instead of opening in Chrome's built-in viewer.
|
|
835
|
+
|
|
836
|
+
**Solution**: Enable the PDF viewer in Chrome settings:
|
|
837
|
+
|
|
838
|
+
1. Navigate to `chrome://settings/content/pdfDocuments`
|
|
839
|
+
2. Select "Open PDFs in Chrome"
|
|
840
|
+
|
|
841
|
+
Or launch with:
|
|
842
|
+
|
|
843
|
+
```bash
|
|
844
|
+
google-chrome --enable-features=PdfViewerUpdate
|
|
845
|
+
```
|
|
846
|
+
|
|
847
|
+
---
|
|
848
|
+
|
|
849
|
+
## References
|
|
850
|
+
|
|
851
|
+
- [Google Chrome Official Download Page](https://www.google.com/chrome/)
|
|
852
|
+
- [Google Chrome Help Center](https://support.google.com/chrome/)
|
|
853
|
+
- [Google Chrome Enterprise Documentation](https://chromeenterprise.google/policies/)
|
|
854
|
+
- [Homebrew Cask - google-chrome](https://formulae.brew.sh/cask/google-chrome)
|
|
855
|
+
- [Chocolatey Package - googlechrome](https://community.chocolatey.org/packages/googlechrome)
|
|
856
|
+
- [winget Package - Google.Chrome](https://winget.run/pkg/Google/Chrome)
|
|
857
|
+
- [Chrome Command Line Switches](https://peter.sh/experiments/chromium-command-line-switches/)
|
|
858
|
+
- [Chrome for Testing (Headless Automation)](https://googlechromelabs.github.io/chrome-for-testing/)
|
|
859
|
+
- [Installing Chrome on Ubuntu](https://www.cherryservers.com/blog/install-chrome-ubuntu)
|
|
860
|
+
- [Chrome on Amazon Linux](https://medium.com/@davidkadlec/installing-google-chrome-on-amazon-linux-ec2-d1cb6aa37f28)
|
|
861
|
+
- [WSL GUI Apps - Microsoft Learn](https://learn.microsoft.com/en-us/windows/wsl/tutorials/gui-apps)
|
|
862
|
+
- [UbuntuUpdates - Google Chrome PPA](https://www.ubuntuupdates.org/ppa/google_chrome)
|