@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.
Files changed (259) hide show
  1. package/README.md +5 -5
  2. package/package.json +1 -1
  3. package/src/commands/install.js +374 -36
  4. package/src/installs/adobe-creative-cloud.js +527 -25
  5. package/src/installs/adobe-creative-cloud.md +605 -0
  6. package/src/installs/appcleaner.js +303 -26
  7. package/src/installs/appcleaner.md +699 -0
  8. package/src/installs/apt-transport-https.js +390 -0
  9. package/src/installs/apt-transport-https.md +678 -0
  10. package/src/installs/atomicparsley.js +624 -26
  11. package/src/installs/atomicparsley.md +795 -0
  12. package/src/installs/aws-cli.js +779 -26
  13. package/src/installs/aws-cli.md +727 -0
  14. package/src/installs/balena-etcher.js +688 -26
  15. package/src/installs/balena-etcher.md +761 -0
  16. package/src/installs/bambu-studio.js +912 -26
  17. package/src/installs/bambu-studio.md +780 -0
  18. package/src/installs/bash-completion.js +554 -23
  19. package/src/installs/bash-completion.md +833 -0
  20. package/src/installs/bash.js +399 -26
  21. package/src/installs/bash.md +993 -0
  22. package/src/installs/beyond-compare.js +585 -26
  23. package/src/installs/beyond-compare.md +813 -0
  24. package/src/installs/build-essential.js +511 -26
  25. package/src/installs/build-essential.md +977 -0
  26. package/src/installs/ca-certificates.js +618 -0
  27. package/src/installs/ca-certificates.md +937 -0
  28. package/src/installs/caffeine.js +490 -26
  29. package/src/installs/caffeine.md +839 -0
  30. package/src/installs/camtasia.js +577 -25
  31. package/src/installs/camtasia.md +762 -0
  32. package/src/installs/chatgpt.js +458 -26
  33. package/src/installs/chatgpt.md +814 -0
  34. package/src/installs/chocolatey.js +447 -0
  35. package/src/installs/chocolatey.md +661 -0
  36. package/src/installs/chrome-canary.js +472 -26
  37. package/src/installs/chrome-canary.md +641 -0
  38. package/src/installs/chromium.js +645 -26
  39. package/src/installs/chromium.md +838 -0
  40. package/src/installs/claude-code.js +558 -26
  41. package/src/installs/claude-code.md +1173 -0
  42. package/src/installs/curl.js +361 -26
  43. package/src/installs/curl.md +714 -0
  44. package/src/installs/cursor.js +561 -26
  45. package/src/installs/cursor.md +970 -0
  46. package/src/installs/dbschema.js +674 -26
  47. package/src/installs/dbschema.md +925 -0
  48. package/src/installs/dependencies.md +435 -0
  49. package/src/installs/development-tools.js +600 -0
  50. package/src/installs/development-tools.md +977 -0
  51. package/src/installs/docker.js +1010 -25
  52. package/src/installs/docker.md +1109 -0
  53. package/src/installs/drawio.js +1001 -26
  54. package/src/installs/drawio.md +795 -0
  55. package/src/installs/elmedia-player.js +328 -25
  56. package/src/installs/elmedia-player.md +556 -0
  57. package/src/installs/ffmpeg.js +870 -25
  58. package/src/installs/ffmpeg.md +852 -0
  59. package/src/installs/file.js +464 -0
  60. package/src/installs/file.md +987 -0
  61. package/src/installs/gemini-cli.js +793 -26
  62. package/src/installs/gemini-cli.md +1153 -0
  63. package/src/installs/git.js +382 -26
  64. package/src/installs/git.md +907 -0
  65. package/src/installs/gitego.js +931 -26
  66. package/src/installs/gitego.md +1172 -0
  67. package/src/installs/go.js +913 -26
  68. package/src/installs/go.md +958 -0
  69. package/src/installs/google-chrome.js +801 -25
  70. package/src/installs/google-chrome.md +862 -0
  71. package/src/installs/gpg.js +412 -73
  72. package/src/installs/gpg.md +1056 -0
  73. package/src/installs/homebrew.js +1015 -26
  74. package/src/installs/homebrew.md +988 -0
  75. package/src/installs/imageoptim.js +950 -26
  76. package/src/installs/imageoptim.md +1119 -0
  77. package/src/installs/installers.json +2297 -0
  78. package/src/installs/jq.js +382 -26
  79. package/src/installs/jq.md +809 -0
  80. package/src/installs/keyboard-maestro.js +701 -26
  81. package/src/installs/keyboard-maestro.md +825 -0
  82. package/src/installs/latex.js +771 -26
  83. package/src/installs/latex.md +1095 -0
  84. package/src/installs/lftp.js +338 -26
  85. package/src/installs/lftp.md +907 -0
  86. package/src/installs/lsb-release.js +346 -0
  87. package/src/installs/lsb-release.md +814 -0
  88. package/src/installs/messenger.js +829 -26
  89. package/src/installs/messenger.md +900 -0
  90. package/src/installs/microsoft-office.js +550 -26
  91. package/src/installs/microsoft-office.md +760 -0
  92. package/src/installs/microsoft-teams.js +782 -25
  93. package/src/installs/microsoft-teams.md +886 -0
  94. package/src/installs/node.js +886 -26
  95. package/src/installs/node.md +1153 -0
  96. package/src/installs/nordpass.js +698 -26
  97. package/src/installs/nordpass.md +921 -0
  98. package/src/installs/nvm.js +977 -26
  99. package/src/installs/nvm.md +1057 -0
  100. package/src/installs/openssh.js +734 -64
  101. package/src/installs/openssh.md +1056 -0
  102. package/src/installs/pandoc.js +644 -26
  103. package/src/installs/pandoc.md +1036 -0
  104. package/src/installs/pinentry.js +492 -26
  105. package/src/installs/pinentry.md +1142 -0
  106. package/src/installs/pngyu.js +851 -26
  107. package/src/installs/pngyu.md +896 -0
  108. package/src/installs/postman.js +781 -26
  109. package/src/installs/postman.md +940 -0
  110. package/src/installs/procps.js +425 -0
  111. package/src/installs/procps.md +851 -0
  112. package/src/installs/safari-tech-preview.js +355 -25
  113. package/src/installs/safari-tech-preview.md +533 -0
  114. package/src/installs/sfnt2woff.js +640 -26
  115. package/src/installs/sfnt2woff.md +795 -0
  116. package/src/installs/shellcheck.js +463 -26
  117. package/src/installs/shellcheck.md +1005 -0
  118. package/src/installs/slack.js +722 -25
  119. package/src/installs/slack.md +865 -0
  120. package/src/installs/snagit.js +566 -25
  121. package/src/installs/snagit.md +844 -0
  122. package/src/installs/software-properties-common.js +372 -0
  123. package/src/installs/software-properties-common.md +805 -0
  124. package/src/installs/spotify.js +858 -25
  125. package/src/installs/spotify.md +901 -0
  126. package/src/installs/studio-3t.js +803 -26
  127. package/src/installs/studio-3t.md +918 -0
  128. package/src/installs/sublime-text.js +780 -25
  129. package/src/installs/sublime-text.md +914 -0
  130. package/src/installs/superwhisper.js +687 -25
  131. package/src/installs/superwhisper.md +630 -0
  132. package/src/installs/tailscale.js +727 -26
  133. package/src/installs/tailscale.md +1100 -0
  134. package/src/installs/tar.js +389 -0
  135. package/src/installs/tar.md +946 -0
  136. package/src/installs/termius.js +780 -26
  137. package/src/installs/termius.md +844 -0
  138. package/src/installs/terraform.js +761 -26
  139. package/src/installs/terraform.md +899 -0
  140. package/src/installs/tidal.js +752 -25
  141. package/src/installs/tidal.md +864 -0
  142. package/src/installs/tmux.js +328 -26
  143. package/src/installs/tmux.md +1030 -0
  144. package/src/installs/tree.js +393 -26
  145. package/src/installs/tree.md +833 -0
  146. package/src/installs/unzip.js +460 -0
  147. package/src/installs/unzip.md +879 -0
  148. package/src/installs/vim.js +403 -26
  149. package/src/installs/vim.md +1040 -0
  150. package/src/installs/vlc.js +803 -26
  151. package/src/installs/vlc.md +927 -0
  152. package/src/installs/vscode.js +825 -26
  153. package/src/installs/vscode.md +1002 -0
  154. package/src/installs/wget.js +415 -0
  155. package/src/installs/wget.md +791 -0
  156. package/src/installs/whatsapp.js +710 -25
  157. package/src/installs/whatsapp.md +854 -0
  158. package/src/installs/winpty.js +352 -0
  159. package/src/installs/winpty.md +620 -0
  160. package/src/installs/woff2.js +535 -26
  161. package/src/installs/woff2.md +977 -0
  162. package/src/installs/wsl.js +572 -0
  163. package/src/installs/wsl.md +699 -0
  164. package/src/installs/xcode-clt.js +520 -0
  165. package/src/installs/xcode-clt.md +351 -0
  166. package/src/installs/xcode.js +542 -26
  167. package/src/installs/xcode.md +573 -0
  168. package/src/installs/yarn.js +806 -26
  169. package/src/installs/yarn.md +1074 -0
  170. package/src/installs/yq.js +636 -26
  171. package/src/installs/yq.md +944 -0
  172. package/src/installs/yt-dlp.js +683 -26
  173. package/src/installs/yt-dlp.md +946 -0
  174. package/src/installs/yum-utils.js +297 -0
  175. package/src/installs/yum-utils.md +648 -0
  176. package/src/installs/zoom.js +740 -25
  177. package/src/installs/zoom.md +884 -0
  178. package/src/scripts/README.md +567 -45
  179. package/src/scripts/STATUS.md +208 -0
  180. package/src/scripts/afk.js +395 -7
  181. package/src/scripts/backup-all.js +731 -9
  182. package/src/scripts/backup-source.js +711 -8
  183. package/src/scripts/brewd.js +373 -7
  184. package/src/scripts/brewi.js +505 -9
  185. package/src/scripts/brewr.js +512 -9
  186. package/src/scripts/brews.js +462 -9
  187. package/src/scripts/brewu.js +488 -7
  188. package/src/scripts/c.js +185 -7
  189. package/src/scripts/ccurl.js +325 -8
  190. package/src/scripts/certbot-crontab-init.js +488 -8
  191. package/src/scripts/certbot-init.js +641 -9
  192. package/src/scripts/ch.js +339 -7
  193. package/src/scripts/claude-danger.js +253 -8
  194. package/src/scripts/clean-dev.js +419 -8
  195. package/src/scripts/clear-dns-cache.js +525 -7
  196. package/src/scripts/clone.js +417 -7
  197. package/src/scripts/code-all.js +420 -7
  198. package/src/scripts/count-files.js +195 -8
  199. package/src/scripts/count-folders.js +195 -8
  200. package/src/scripts/count.js +248 -8
  201. package/src/scripts/d.js +203 -7
  202. package/src/scripts/datauri.js +373 -8
  203. package/src/scripts/delete-files.js +363 -7
  204. package/src/scripts/docker-clean.js +410 -8
  205. package/src/scripts/dp.js +426 -7
  206. package/src/scripts/e.js +375 -9
  207. package/src/scripts/empty-trash.js +497 -7
  208. package/src/scripts/evm.js +428 -9
  209. package/src/scripts/fetch-github-repos.js +441 -10
  210. package/src/scripts/get-channel.js +329 -8
  211. package/src/scripts/get-course.js +384 -11
  212. package/src/scripts/get-dependencies.js +290 -9
  213. package/src/scripts/get-folder.js +783 -10
  214. package/src/scripts/get-tunes.js +411 -10
  215. package/src/scripts/get-video.js +352 -9
  216. package/src/scripts/git-backup.js +561 -9
  217. package/src/scripts/git-clone.js +477 -9
  218. package/src/scripts/git-pup.js +303 -7
  219. package/src/scripts/git-push.js +380 -8
  220. package/src/scripts/h.js +607 -9
  221. package/src/scripts/hide-desktop-icons.js +483 -7
  222. package/src/scripts/hide-hidden-files.js +522 -7
  223. package/src/scripts/install-dependencies-from.js +440 -9
  224. package/src/scripts/ips.js +647 -10
  225. package/src/scripts/iso.js +354 -8
  226. package/src/scripts/killni.js +561 -7
  227. package/src/scripts/ll.js +451 -8
  228. package/src/scripts/local-ip.js +310 -8
  229. package/src/scripts/m.js +508 -8
  230. package/src/scripts/map.js +293 -8
  231. package/src/scripts/mkd.js +287 -7
  232. package/src/scripts/ncu-update-all.js +441 -8
  233. package/src/scripts/nginx-init.js +702 -12
  234. package/src/scripts/npmi.js +366 -7
  235. package/src/scripts/o.js +495 -8
  236. package/src/scripts/org-by-date.js +321 -7
  237. package/src/scripts/p.js +208 -7
  238. package/src/scripts/packages.js +313 -8
  239. package/src/scripts/path.js +209 -7
  240. package/src/scripts/ports.js +582 -8
  241. package/src/scripts/q.js +290 -8
  242. package/src/scripts/refresh-files.js +378 -10
  243. package/src/scripts/remove-smaller-files.js +500 -8
  244. package/src/scripts/rename-files-with-date.js +517 -9
  245. package/src/scripts/resize-image.js +523 -9
  246. package/src/scripts/rm-safe.js +653 -8
  247. package/src/scripts/s.js +525 -9
  248. package/src/scripts/set-git-public.js +349 -7
  249. package/src/scripts/show-desktop-icons.js +459 -7
  250. package/src/scripts/show-hidden-files.js +456 -7
  251. package/src/scripts/tpa.js +265 -8
  252. package/src/scripts/tpo.js +264 -7
  253. package/src/scripts/u.js +489 -7
  254. package/src/scripts/vpush.js +422 -8
  255. package/src/scripts/y.js +267 -7
  256. package/src/utils/common/os.js +94 -2
  257. package/src/utils/ubuntu/apt.js +13 -7
  258. package/src/utils/windows/choco.js +82 -26
  259. package/src/utils/windows/winget.js +89 -27
@@ -0,0 +1,854 @@
1
+ # Installing WhatsApp
2
+
3
+ ## Overview
4
+
5
+ WhatsApp is a cross-platform messaging application owned by Meta that allows users to send text messages, make voice and video calls, share files and media, and communicate with contacts worldwide. WhatsApp uses end-to-end encryption for private communications and syncs messages across linked devices.
6
+
7
+ **Important Platform Notes**:
8
+ - **macOS**: Official WhatsApp desktop application available via Homebrew
9
+ - **Windows**: Official WhatsApp desktop application available via winget (recommended) or Chocolatey
10
+ - **Linux (Ubuntu, Raspberry Pi, Amazon Linux)**: No official Meta desktop application exists; use **WhatsApp for Linux**, an open-source unofficial client that wraps WhatsApp Web in a native desktop application
11
+
12
+ This guide documents the installation of the official WhatsApp desktop application where available, and WhatsApp for Linux as the definitive alternative for platforms without official support.
13
+
14
+ ## Dependencies
15
+
16
+ ### macOS (Homebrew)
17
+ - **Required:**
18
+ - Homebrew - Install via `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` or `dev install homebrew`
19
+ - **Optional:** None
20
+ - **Auto-installed:** None
21
+
22
+ ### Ubuntu (APT/Snap)
23
+ - **Required:**
24
+ - Flatpak - Install via `sudo apt-get install -y flatpak`
25
+ - Flathub repository - Add via `flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo`
26
+ - **Optional:** None
27
+ - **Auto-installed:**
28
+ - Flatpak runtime dependencies (GNOME runtime, freedesktop runtime) - automatically installed by Flatpak when installing WhatsApp for Linux
29
+
30
+ ### Raspberry Pi OS (APT/Snap)
31
+ - Installation not yet supported on this platform. WhatsApp does not provide native ARM packages. Users should access WhatsApp Web via browser at https://web.whatsapp.com
32
+
33
+ ### Amazon Linux (DNF/YUM)
34
+ - **Required:**
35
+ - Flatpak - Install via `sudo dnf install -y flatpak` (Amazon Linux 2023/RHEL 8+) or `sudo yum install -y flatpak` (Amazon Linux 2)
36
+ - Flathub repository - Add via `flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo`
37
+ - Desktop environment (GNOME, MATE, or similar) - Install via `sudo dnf groupinstall -y "Server with GUI"` (Amazon Linux is typically a server OS)
38
+ - **Optional:** None
39
+ - **Auto-installed:**
40
+ - Flatpak runtime dependencies (GNOME runtime, freedesktop runtime) - automatically installed by Flatpak when installing WhatsApp for Linux
41
+
42
+ ### Windows (Chocolatey/winget)
43
+ - **Required:**
44
+ - winget - Pre-installed on Windows 10 version 1809+ and Windows 11. If missing, install App Installer from Microsoft Store via `start ms-windows-store://pdp/?productid=9NBLGGH4NNS1`
45
+ - **Optional:** None
46
+ - **Auto-installed:** None
47
+
48
+ ### Git Bash (Manual/Portable)
49
+ - **Required:**
50
+ - winget.exe - Pre-installed on Windows 10 version 1809+ and Windows 11. If missing, install App Installer from Microsoft Store
51
+ - Windows 10 version 1809 or later, or Windows 11
52
+ - **Optional:** None
53
+ - **Auto-installed:** None
54
+
55
+ ## Prerequisites
56
+
57
+ Before installing WhatsApp on any platform, ensure:
58
+
59
+ 1. **WhatsApp mobile account** - Required to link the desktop application via QR code scanning
60
+ 2. **Smartphone with WhatsApp installed** - Required for initial device linking
61
+ 3. **Internet connectivity** - Required for all WhatsApp functionality
62
+ 4. **Administrative privileges** - Required on most platforms for installation
63
+
64
+ ## Platform-Specific Installation
65
+
66
+ ### macOS (Homebrew)
67
+
68
+ #### Prerequisites
69
+
70
+ - macOS 12 (Monterey) or later
71
+ - Homebrew package manager installed
72
+ - Apple Silicon (M1/M2/M3/M4) or Intel processor
73
+
74
+ If Homebrew is not installed, install it first:
75
+
76
+ ```bash
77
+ NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
78
+ ```
79
+
80
+ #### Installation Steps
81
+
82
+ Run the following command to install the official WhatsApp desktop application:
83
+
84
+ ```bash
85
+ brew install --quiet --cask whatsapp
86
+ ```
87
+
88
+ The `--quiet` flag suppresses non-essential output, making the command suitable for automation scripts. The `--cask` flag specifies this is a macOS application.
89
+
90
+ #### Verification
91
+
92
+ Confirm the installation succeeded by launching the application:
93
+
94
+ ```bash
95
+ open -a WhatsApp
96
+ ```
97
+
98
+ Alternatively, verify the application exists:
99
+
100
+ ```bash
101
+ ls /Applications/WhatsApp.app
102
+ ```
103
+
104
+ Expected output:
105
+
106
+ ```
107
+ /Applications/WhatsApp.app
108
+ ```
109
+
110
+ #### Troubleshooting
111
+
112
+ **Problem**: `brew: command not found`
113
+
114
+ **Solution**: Homebrew is not installed or not in PATH. Install Homebrew or add it to your PATH:
115
+
116
+ ```bash
117
+ eval "$(/opt/homebrew/bin/brew shellenv)"
118
+ ```
119
+
120
+ **Problem**: App shows "WhatsApp can't be opened because Apple cannot check it for malicious software"
121
+
122
+ **Solution**: This can occur on first launch. Right-click the app in Applications and select "Open", then click "Open" in the dialog. Alternatively, clear the quarantine flag:
123
+
124
+ ```bash
125
+ xattr -cr /Applications/WhatsApp.app
126
+ ```
127
+
128
+ **Problem**: QR code not scanning or linking fails
129
+
130
+ **Solution**: Ensure your phone and computer are on the same network. On your phone, go to WhatsApp > Settings > Linked Devices > Link a Device, and scan the QR code displayed on the desktop application.
131
+
132
+ **Problem**: WhatsApp shows "Phone not connected"
133
+
134
+ **Solution**: WhatsApp desktop requires your phone to have an active internet connection for the initial sync. Ensure your phone is connected to the internet and has WhatsApp running.
135
+
136
+ ---
137
+
138
+ ### Ubuntu/Debian (Flatpak)
139
+
140
+ #### Prerequisites
141
+
142
+ - Ubuntu 18.04 or later, or Debian 10 or later (64-bit x86_64)
143
+ - Flatpak installed and configured with Flathub repository
144
+ - sudo privileges
145
+ - Active internet connection
146
+
147
+ **Important**: Meta does not provide an official WhatsApp desktop application for Linux. This guide documents the installation of **WhatsApp for Linux**, an open-source unofficial client that provides a native desktop experience by wrapping WhatsApp Web.
148
+
149
+ #### Installation Steps
150
+
151
+ **Step 1: Install Flatpak (if not already installed)**
152
+
153
+ ```bash
154
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y flatpak
155
+ ```
156
+
157
+ **Step 2: Add the Flathub repository**
158
+
159
+ ```bash
160
+ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
161
+ ```
162
+
163
+ **Step 3: Install WhatsApp for Linux**
164
+
165
+ ```bash
166
+ flatpak install -y flathub com.github.eneshecan.WhatsAppForLinux
167
+ ```
168
+
169
+ The `-y` flag automatically confirms the installation, enabling fully non-interactive operation.
170
+
171
+ **Note**: After installation, you may need to log out and log back in, or restart your terminal, for the application to appear in your application menu.
172
+
173
+ #### Verification
174
+
175
+ Confirm the installation succeeded:
176
+
177
+ ```bash
178
+ flatpak list | grep -i whatsapp
179
+ ```
180
+
181
+ Expected output:
182
+
183
+ ```
184
+ WhatsApp for Linux com.github.eneshecan.WhatsAppForLinux 1.6.4 stable flathub
185
+ ```
186
+
187
+ Launch the application:
188
+
189
+ ```bash
190
+ flatpak run com.github.eneshecan.WhatsAppForLinux &
191
+ ```
192
+
193
+ Or find "WhatsApp for Linux" in your application menu under Internet or Communication.
194
+
195
+ #### Troubleshooting
196
+
197
+ **Problem**: `flatpak: command not found`
198
+
199
+ **Solution**: Install flatpak first:
200
+
201
+ ```bash
202
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y flatpak
203
+ ```
204
+
205
+ Then restart your terminal or log out and log back in.
206
+
207
+ **Problem**: "No remote refs found similar to flathub"
208
+
209
+ **Solution**: Add the Flathub repository:
210
+
211
+ ```bash
212
+ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
213
+ ```
214
+
215
+ **Problem**: Application fails to start with graphics errors
216
+
217
+ **Solution**: The application may have issues with certain graphics drivers. Try running with software rendering:
218
+
219
+ ```bash
220
+ flatpak run --env=LIBGL_ALWAYS_SOFTWARE=1 com.github.eneshecan.WhatsAppForLinux &
221
+ ```
222
+
223
+ **Problem**: Cannot scan QR code or link device
224
+
225
+ **Solution**: Ensure your phone has an active internet connection. On your phone, go to WhatsApp > Settings > Linked Devices > Link a Device, and scan the QR code displayed on the desktop application.
226
+
227
+ **Problem**: Notifications not working
228
+
229
+ **Solution**: Ensure your desktop environment allows notifications. On GNOME, check Settings > Notifications > WhatsApp for Linux.
230
+
231
+ ---
232
+
233
+ ### Raspberry Pi OS (Pi-Apps)
234
+
235
+ #### Prerequisites
236
+
237
+ - Raspberry Pi OS (64-bit recommended) - Bookworm or Bullseye
238
+ - Raspberry Pi 3 or later with 2GB+ RAM (4GB recommended)
239
+ - sudo privileges
240
+ - Desktop environment configured
241
+
242
+ **Important**: Meta does not provide an official WhatsApp desktop application for Raspberry Pi or any Linux ARM platform. This guide documents the installation of **WhatsApp for Linux** using Pi-Apps, which properly handles ARM64 builds.
243
+
244
+ Verify your architecture:
245
+
246
+ ```bash
247
+ uname -m
248
+ ```
249
+
250
+ - `aarch64` = 64-bit ARM (recommended, full support)
251
+ - `armv7l` = 32-bit ARM (limited support via Pi-Apps)
252
+
253
+ #### Installation Steps
254
+
255
+ **Step 1: Install Pi-Apps**
256
+
257
+ Pi-Apps is an application installer for Raspberry Pi that handles ARM-specific builds:
258
+
259
+ ```bash
260
+ wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash
261
+ ```
262
+
263
+ This command downloads and runs the Pi-Apps installer non-interactively.
264
+
265
+ **Step 2: Install WhatsApp via Pi-Apps CLI**
266
+
267
+ ```bash
268
+ ~/pi-apps/manage install "WhatsApp"
269
+ ```
270
+
271
+ This installs a WhatsApp Web chromium webapp optimized for Raspberry Pi.
272
+
273
+ #### Verification
274
+
275
+ Confirm the installation succeeded by checking the Pi-Apps status:
276
+
277
+ ```bash
278
+ ~/pi-apps/manage check-all | grep -i whatsapp
279
+ ```
280
+
281
+ Launch the application from the menu: **Menu > Internet > WhatsApp**
282
+
283
+ Or launch from command line:
284
+
285
+ ```bash
286
+ chromium-browser --app=https://web.whatsapp.com &
287
+ ```
288
+
289
+ #### Troubleshooting
290
+
291
+ **Problem**: Pi-Apps installation fails
292
+
293
+ **Solution**: Ensure you have internet connectivity and git is installed:
294
+
295
+ ```bash
296
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y git
297
+ ```
298
+
299
+ Then retry the Pi-Apps installation.
300
+
301
+ **Problem**: WhatsApp runs slowly or crashes
302
+
303
+ **Solution**: Raspberry Pi may have limited resources for web applications. Close other applications and ensure you have at least 2GB RAM. Consider increasing swap space:
304
+
305
+ ```bash
306
+ sudo dphys-swapfile swapoff
307
+ sudo sed -i 's/CONF_SWAPSIZE=.*/CONF_SWAPSIZE=2048/' /etc/dphys-swapfile
308
+ sudo dphys-swapfile setup
309
+ sudo dphys-swapfile swapon
310
+ ```
311
+
312
+ **Problem**: Graphics rendering issues
313
+
314
+ **Solution**: Try running Chromium with GPU acceleration disabled:
315
+
316
+ ```bash
317
+ chromium-browser --disable-gpu --app=https://web.whatsapp.com &
318
+ ```
319
+
320
+ **Problem**: QR code display issues
321
+
322
+ **Solution**: If the QR code does not render correctly, try increasing the window size or using a different zoom level in Chromium settings.
323
+
324
+ ---
325
+
326
+ ### Amazon Linux/RHEL (Flatpak)
327
+
328
+ #### Prerequisites
329
+
330
+ - Amazon Linux 2023 (AL2023), Amazon Linux 2 (AL2), RHEL 8/9, or Fedora
331
+ - Desktop environment installed (GNOME, MATE, or similar)
332
+ - sudo privileges
333
+ - Active internet connection
334
+
335
+ **Important**: Meta does not provide an official WhatsApp desktop application for Amazon Linux or any Linux distribution. For desktop environments, use **WhatsApp for Linux** via Flatpak. For headless server environments, use the web interface at https://web.whatsapp.com.
336
+
337
+ Amazon Linux is typically used as a server OS. If you need a graphical WhatsApp client, ensure you have a desktop environment installed first.
338
+
339
+ #### Installation Steps
340
+
341
+ **Step 1: Install Flatpak**
342
+
343
+ For Amazon Linux 2023:
344
+
345
+ ```bash
346
+ sudo dnf install -y flatpak
347
+ ```
348
+
349
+ For Amazon Linux 2:
350
+
351
+ ```bash
352
+ sudo yum install -y flatpak
353
+ ```
354
+
355
+ **Step 2: Add the Flathub repository**
356
+
357
+ ```bash
358
+ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
359
+ ```
360
+
361
+ **Step 3: Install WhatsApp for Linux**
362
+
363
+ ```bash
364
+ flatpak install -y flathub com.github.eneshecan.WhatsAppForLinux
365
+ ```
366
+
367
+ #### Verification
368
+
369
+ Confirm the installation succeeded:
370
+
371
+ ```bash
372
+ flatpak list | grep -i whatsapp
373
+ ```
374
+
375
+ Expected output:
376
+
377
+ ```
378
+ WhatsApp for Linux com.github.eneshecan.WhatsAppForLinux 1.6.4 stable flathub
379
+ ```
380
+
381
+ Launch the application:
382
+
383
+ ```bash
384
+ flatpak run com.github.eneshecan.WhatsAppForLinux &
385
+ ```
386
+
387
+ #### Troubleshooting
388
+
389
+ **Problem**: No graphical display available
390
+
391
+ **Solution**: Amazon Linux is typically a server OS without a desktop environment. Install a desktop environment first:
392
+
393
+ ```bash
394
+ # For Amazon Linux 2023
395
+ sudo dnf groupinstall -y "Server with GUI"
396
+ sudo systemctl set-default graphical.target
397
+ sudo reboot
398
+ ```
399
+
400
+ Or use the web interface at https://web.whatsapp.com from any browser.
401
+
402
+ **Problem**: Flatpak installation fails with "Unable to locate runtime"
403
+
404
+ **Solution**: Ensure the Flathub repository is correctly added:
405
+
406
+ ```bash
407
+ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
408
+ flatpak update
409
+ ```
410
+
411
+ **Problem**: SELinux blocks the application
412
+
413
+ **Solution**: Check SELinux denials and allow if necessary:
414
+
415
+ ```bash
416
+ sudo ausearch -m AVC -ts recent | grep whatsapp
417
+ ```
418
+
419
+ If there are denials, create a local policy module or set SELinux to permissive mode temporarily for testing.
420
+
421
+ **Problem**: GTK or graphics library errors
422
+
423
+ **Solution**: Install required dependencies:
424
+
425
+ ```bash
426
+ sudo dnf install -y gtk3 webkit2gtk3
427
+ ```
428
+
429
+ ---
430
+
431
+ ### Windows (winget)
432
+
433
+ #### Prerequisites
434
+
435
+ - Windows 10 version 1809 or later, or Windows 11
436
+ - winget package manager (pre-installed on Windows 10 1809+ and Windows 11)
437
+ - Administrator privileges recommended
438
+ - Active internet connection
439
+
440
+ #### Installation Steps
441
+
442
+ Run the following command in an Administrator PowerShell or Command Prompt:
443
+
444
+ ```powershell
445
+ winget install --id WhatsApp.WhatsApp --silent --accept-package-agreements --accept-source-agreements
446
+ ```
447
+
448
+ This command:
449
+ - `--id WhatsApp.WhatsApp` - Specifies the winget package ID for the official WhatsApp application
450
+ - `--silent` - Runs without user prompts
451
+ - `--accept-package-agreements` - Automatically accepts package license agreements
452
+ - `--accept-source-agreements` - Automatically accepts source license agreements
453
+
454
+ #### Verification
455
+
456
+ Open a new PowerShell or Command Prompt window (required for PATH to update), then verify the installation:
457
+
458
+ ```powershell
459
+ winget list --id WhatsApp.WhatsApp
460
+ ```
461
+
462
+ Expected output:
463
+
464
+ ```
465
+ Name Id Version Source
466
+ --------------------------------------------
467
+ WhatsApp WhatsApp.WhatsApp 2.2410.1 winget
468
+ ```
469
+
470
+ Launch the application from the Start Menu by searching for "WhatsApp", or:
471
+
472
+ ```powershell
473
+ start whatsapp:
474
+ ```
475
+
476
+ #### Troubleshooting
477
+
478
+ **Problem**: `winget: The term 'winget' is not recognized`
479
+
480
+ **Solution**: winget may not be installed or PATH may not be updated. Install App Installer from the Microsoft Store:
481
+
482
+ ```powershell
483
+ start ms-windows-store://pdp/?productid=9NBLGGH4NNS1
484
+ ```
485
+
486
+ After installation, open a new terminal window.
487
+
488
+ **Problem**: Installation fails with "No applicable installer found"
489
+
490
+ **Solution**: Your Windows version may be too old. Check your version:
491
+
492
+ ```powershell
493
+ winver
494
+ ```
495
+
496
+ Windows 10 version 1809 (October 2018 Update) or later is required.
497
+
498
+ **Problem**: "Administrator privileges required"
499
+
500
+ **Solution**: Right-click PowerShell or Command Prompt and select "Run as administrator", then retry the installation command.
501
+
502
+ **Problem**: WhatsApp installed but cannot find it
503
+
504
+ **Solution**: The installation may have completed but the Start Menu not yet updated. Try running directly:
505
+
506
+ ```powershell
507
+ start whatsapp:
508
+ ```
509
+
510
+ Or search for WhatsApp in the Start Menu.
511
+
512
+ **Problem**: Cannot scan QR code
513
+
514
+ **Solution**: Ensure your phone has an active internet connection. On your phone, go to WhatsApp > Settings > Linked Devices > Link a Device, and scan the QR code displayed on the desktop application.
515
+
516
+ ---
517
+
518
+ ### WSL (Ubuntu)
519
+
520
+ #### Prerequisites
521
+
522
+ - Windows Subsystem for Linux with Ubuntu installed
523
+ - WSL 2 recommended for best performance
524
+ - WSLg support (Windows 11) for native Linux GUI apps
525
+ - sudo privileges within WSL
526
+
527
+ **Important**: WhatsApp for Linux is a GUI application and requires a display. WSL 2 with WSLg (Windows 11) supports Linux GUI applications natively. For WSL on Windows 10, additional X server configuration is required.
528
+
529
+ #### Installation Steps
530
+
531
+ **Recommended Approach - Use Windows WhatsApp Installation**:
532
+
533
+ The simplest approach is to install WhatsApp on Windows (see Windows section above) and access it from WSL through Windows interop:
534
+
535
+ ```bash
536
+ # Install wslu for Windows integration
537
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wslu
538
+
539
+ # Open WhatsApp web interface in Windows browser
540
+ wslview https://web.whatsapp.com
541
+ ```
542
+
543
+ **Alternative Approach - Linux Flatpak in WSL (WSL 2 + WSLg required)**:
544
+
545
+ For WSL 2 on Windows 11 with WSLg, you can run Linux GUI applications natively.
546
+
547
+ First, ensure systemd is enabled in WSL. Edit `/etc/wsl.conf`:
548
+
549
+ ```bash
550
+ sudo tee /etc/wsl.conf > /dev/null << 'EOF'
551
+ [boot]
552
+ systemd=true
553
+ EOF
554
+ ```
555
+
556
+ Restart WSL from PowerShell:
557
+
558
+ ```powershell
559
+ wsl --shutdown
560
+ ```
561
+
562
+ Then reopen WSL and install WhatsApp for Linux via Flatpak:
563
+
564
+ ```bash
565
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y flatpak
566
+ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
567
+ flatpak install -y flathub com.github.eneshecan.WhatsAppForLinux
568
+ ```
569
+
570
+ #### Verification
571
+
572
+ For the Windows browser approach:
573
+
574
+ ```bash
575
+ wslview https://web.whatsapp.com
576
+ ```
577
+
578
+ This should open WhatsApp Web in your Windows browser.
579
+
580
+ For the Linux Flatpak approach (WSL 2 + WSLg):
581
+
582
+ ```bash
583
+ flatpak list | grep -i whatsapp
584
+ ```
585
+
586
+ Launch the application:
587
+
588
+ ```bash
589
+ flatpak run com.github.eneshecan.WhatsAppForLinux &
590
+ ```
591
+
592
+ The WhatsApp window should appear on your Windows desktop via WSLg.
593
+
594
+ #### Troubleshooting
595
+
596
+ **Problem**: GUI applications do not display
597
+
598
+ **Solution**: WSLg requires Windows 11 or later. For Windows 10, install an X server like VcXsrv:
599
+
600
+ 1. Install VcXsrv on Windows from https://sourceforge.net/projects/vcxsrv/
601
+ 2. Launch XLaunch with "Multiple windows" and "Disable access control"
602
+ 3. In WSL, set the display:
603
+
604
+ ```bash
605
+ export DISPLAY=$(grep nameserver /etc/resolv.conf | awk '{print $2}'):0.0
606
+ ```
607
+
608
+ Add to `~/.bashrc` for persistence.
609
+
610
+ **Problem**: systemctl commands fail
611
+
612
+ **Solution**: systemd may not be enabled. Edit `/etc/wsl.conf` as shown above and restart WSL.
613
+
614
+ **Problem**: Flatpak installation hangs or fails
615
+
616
+ **Solution**: Flatpak may have issues in WSL. Use the Windows WhatsApp installation or web interface instead:
617
+
618
+ ```bash
619
+ wslview https://web.whatsapp.com
620
+ ```
621
+
622
+ **Problem**: `wslview: command not found`
623
+
624
+ **Solution**: Install wslu utilities:
625
+
626
+ ```bash
627
+ sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wslu
628
+ ```
629
+
630
+ ---
631
+
632
+ ### Git Bash (Windows)
633
+
634
+ #### Prerequisites
635
+
636
+ - Windows 10 version 1809 or later, or Windows 11
637
+ - Git Bash installed (comes with Git for Windows)
638
+ - WhatsApp installed on Windows (see Windows section above)
639
+
640
+ **Note**: Git Bash on Windows runs within the Windows environment and inherits the Windows PATH. Once WhatsApp is installed on Windows, it is accessible from Git Bash through Windows application launching.
641
+
642
+ #### Installation Steps
643
+
644
+ Git Bash can execute Windows commands directly. Install WhatsApp using winget:
645
+
646
+ ```bash
647
+ winget.exe install --id WhatsApp.WhatsApp --silent --accept-package-agreements --accept-source-agreements
648
+ ```
649
+
650
+ After installation, close and reopen Git Bash for the Start Menu shortcuts to update.
651
+
652
+ #### Verification
653
+
654
+ Verify WhatsApp is installed by checking winget:
655
+
656
+ ```bash
657
+ winget.exe list --id WhatsApp.WhatsApp
658
+ ```
659
+
660
+ Launch WhatsApp from Git Bash:
661
+
662
+ ```bash
663
+ start whatsapp:
664
+ ```
665
+
666
+ Or open the web interface:
667
+
668
+ ```bash
669
+ start https://web.whatsapp.com
670
+ ```
671
+
672
+ #### Troubleshooting
673
+
674
+ **Problem**: `winget.exe: command not found`
675
+
676
+ **Solution**: winget may not be in the Git Bash PATH. Use the full path:
677
+
678
+ ```bash
679
+ /c/Users/$USER/AppData/Local/Microsoft/WindowsApps/winget.exe install --id WhatsApp.WhatsApp --silent --accept-package-agreements --accept-source-agreements
680
+ ```
681
+
682
+ **Problem**: `start: command not found`
683
+
684
+ **Solution**: In Git Bash, use `cmd.exe` to run Windows commands:
685
+
686
+ ```bash
687
+ cmd.exe /c start whatsapp:
688
+ ```
689
+
690
+ **Problem**: Installation fails with permission errors
691
+
692
+ **Solution**: Git Bash may need to be run as Administrator. Right-click Git Bash and select "Run as administrator", then retry the installation.
693
+
694
+ **Problem**: WhatsApp installed but cannot launch from Git Bash
695
+
696
+ **Solution**: Use the Windows `start` command through cmd:
697
+
698
+ ```bash
699
+ cmd.exe /c start whatsapp:
700
+ ```
701
+
702
+ Or simply access the web interface:
703
+
704
+ ```bash
705
+ cmd.exe /c start https://web.whatsapp.com
706
+ ```
707
+
708
+ ---
709
+
710
+ ## Post-Installation Configuration
711
+
712
+ ### First-Time Setup
713
+
714
+ After installing and launching WhatsApp on any platform:
715
+
716
+ 1. **Scan QR Code** - Open WhatsApp on your phone, go to Settings > Linked Devices > Link a Device, and scan the QR code displayed on the desktop application
717
+ 2. **Wait for Sync** - Allow time for your messages and media to sync to the desktop client
718
+ 3. **Grant Permissions** - Allow notifications when prompted for real-time message alerts
719
+ 4. **Configure Settings** - Adjust notification preferences, themes, and privacy settings as desired
720
+
721
+ ### Keyboard Shortcuts
722
+
723
+ | Platform | New Chat | Search | Settings | Mute Conversation |
724
+ |----------|----------|--------|----------|-------------------|
725
+ | macOS | Cmd + N | Cmd + F | Cmd + , | Cmd + Shift + M |
726
+ | Windows/Linux | Ctrl + N | Ctrl + F | Ctrl + , | Ctrl + Shift + M |
727
+
728
+ ### Configuring Notifications
729
+
730
+ To ensure you receive message notifications:
731
+
732
+ **Linux (Flatpak)**:
733
+ Ensure your desktop environment allows notifications from Flatpak applications. On GNOME, check Settings > Notifications.
734
+
735
+ **Windows**:
736
+ Ensure notifications are enabled in Windows Settings > System > Notifications > WhatsApp.
737
+
738
+ **macOS**:
739
+ Grant notification permissions in System Settings > Notifications > WhatsApp.
740
+
741
+ ### Managing Linked Devices
742
+
743
+ You can link up to four devices to your WhatsApp account. To manage linked devices:
744
+
745
+ 1. Open WhatsApp on your phone
746
+ 2. Go to Settings > Linked Devices
747
+ 3. View, add, or remove linked devices
748
+
749
+ ---
750
+
751
+ ## Common Issues
752
+
753
+ ### Issue: Cannot Scan QR Code
754
+
755
+ **Symptoms**: QR code does not appear, does not scan, or continuously refreshes.
756
+
757
+ **Solutions**:
758
+
759
+ 1. Ensure your phone has an active internet connection
760
+ 2. Ensure your phone's WhatsApp is up to date
761
+ 3. On your phone, go to WhatsApp > Settings > Linked Devices > Link a Device
762
+ 4. Position the phone camera to fully capture the QR code
763
+ 5. If the QR code times out, refresh the desktop application
764
+
765
+ ### Issue: Messages Not Syncing
766
+
767
+ **Symptoms**: New messages do not appear or sent messages do not show.
768
+
769
+ **Solutions**:
770
+
771
+ 1. Refresh the connection by restarting the desktop application
772
+ 2. Ensure your phone has an active internet connection
773
+ 3. Check WhatsApp server status at https://downdetector.com/status/whatsapp/
774
+ 4. Re-link the device by removing it from Linked Devices and scanning the QR code again
775
+
776
+ ### Issue: High Memory Usage
777
+
778
+ **Symptoms**: WhatsApp consumes excessive system resources.
779
+
780
+ **Solutions**:
781
+
782
+ WhatsApp desktop applications, especially unofficial Linux clients built with Electron or WebKit, can consume significant memory. To reduce usage:
783
+
784
+ 1. Close and restart WhatsApp periodically
785
+ 2. Avoid having many conversations with media open
786
+ 3. Clear the application cache if available
787
+
788
+ On Linux, check memory usage:
789
+
790
+ ```bash
791
+ ps aux | grep -i whatsapp
792
+ ```
793
+
794
+ ### Issue: No Notifications
795
+
796
+ **Symptoms**: Not receiving notifications for new messages.
797
+
798
+ **Solutions**:
799
+
800
+ 1. Verify notifications are enabled in WhatsApp settings
801
+ 2. Check system notification settings
802
+ 3. On Linux, ensure the notification daemon is running
803
+ 4. On macOS/Windows, check that WhatsApp has notification permissions in system settings
804
+
805
+ ### Issue: Audio/Video Calls Not Working
806
+
807
+ **Symptoms**: Cannot make or receive voice/video calls.
808
+
809
+ **Solutions**:
810
+
811
+ 1. Verify microphone and camera permissions are granted to WhatsApp
812
+ 2. Check that correct audio devices are selected in system settings
813
+ 3. For Linux unofficial clients, audio/video calling may have limited support
814
+ 4. Consider using WhatsApp Web in a browser for calls if the desktop client has issues
815
+
816
+ ### Issue: "Phone Not Connected" Error
817
+
818
+ **Symptoms**: Desktop app shows phone disconnection warning.
819
+
820
+ **Solutions**:
821
+
822
+ 1. Ensure your phone is connected to the internet
823
+ 2. Ensure WhatsApp is open on your phone (for older linking method)
824
+ 3. With newer versions, the phone only needs periodic connectivity
825
+ 4. Re-link the device if the issue persists
826
+
827
+ ---
828
+
829
+ ## Summary Table
830
+
831
+ | Platform | Native Support | Installation Method | Notes |
832
+ |----------|---------------|---------------------|-------|
833
+ | macOS | Yes | `brew install --quiet --cask whatsapp` | Requires macOS 12+ |
834
+ | Windows | Yes | `winget install --id WhatsApp.WhatsApp --silent ...` | Primary supported platform |
835
+ | Ubuntu/Debian | No | `flatpak install -y flathub com.github.eneshecan.WhatsAppForLinux` | Unofficial client |
836
+ | Raspberry Pi | No | Pi-Apps or Chromium webapp | Use WhatsApp Web wrapper |
837
+ | Amazon Linux/RHEL | No | `flatpak install -y flathub com.github.eneshecan.WhatsAppForLinux` | Unofficial client |
838
+ | WSL | N/A | Install on Windows host or use Flatpak with WSLg | Uses Windows installation |
839
+ | Git Bash | N/A | Uses Windows installation | Inherits Windows WhatsApp |
840
+
841
+ ---
842
+
843
+ ## References
844
+
845
+ - [WhatsApp Official Website](https://www.whatsapp.com/)
846
+ - [WhatsApp Official Download Page](https://www.whatsapp.com/download)
847
+ - [WhatsApp Homebrew Cask](https://formulae.brew.sh/cask/whatsapp)
848
+ - [WhatsApp winget Package](https://winget.run/pkg/WhatsApp/WhatsApp)
849
+ - [WhatsApp for Linux - Flathub](https://flathub.org/apps/com.github.eneshecan.WhatsAppForLinux)
850
+ - [WhatsApp for Linux - GitHub](https://github.com/eneshecan/whatsapp-for-linux)
851
+ - [Pi-Apps for Raspberry Pi](https://pi-apps.io/)
852
+ - [Pi-Apps WhatsApp Installation](https://pi-apps.io/install-app/install-whatsapp-on-raspberry-pi/)
853
+ - [WhatsApp Web](https://web.whatsapp.com)
854
+ - [WhatsApp Help Center](https://faq.whatsapp.com/)