@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,839 @@
|
|
|
1
|
+
# Installing Caffeine
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Caffeine is a utility that prevents your computer from going to sleep, activating the screensaver, or dimming the screen. It is invaluable when you need your computer to stay awake during long-running processes like downloads, presentations, video playback, or software builds. Different implementations exist for each operating system, but they all serve the same core purpose: keeping your machine awake on demand.
|
|
6
|
+
|
|
7
|
+
On macOS, Caffeine is a lightweight menu bar application. On Linux, Caffeine is typically a GNOME Shell extension or a system tray indicator. On Windows, Caffeine is a portable utility that simulates keypresses to prevent idle detection.
|
|
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
|
|
16
|
+
|
|
17
|
+
### Ubuntu (APT/Snap)
|
|
18
|
+
- **Required:** None (systemd-inhibit is pre-installed on all systemd-based systems)
|
|
19
|
+
- **Optional:**
|
|
20
|
+
- GNOME Shell - Install via `sudo apt install gnome-shell` (required for gnome-shell-extension-caffeine)
|
|
21
|
+
- gnome-extensions CLI tool - Install via `sudo apt install gnome-shell-extensions` (required to enable the GNOME extension)
|
|
22
|
+
- **Auto-installed:** None
|
|
23
|
+
|
|
24
|
+
### Raspberry Pi OS (APT/Snap)
|
|
25
|
+
- **Required:** None (xset and systemd-inhibit are pre-installed)
|
|
26
|
+
- **Optional:** None
|
|
27
|
+
- **Auto-installed:** None
|
|
28
|
+
|
|
29
|
+
### Amazon Linux (DNF/YUM)
|
|
30
|
+
- **Required:** None (systemd-inhibit is pre-installed on all systemd-based systems)
|
|
31
|
+
- **Optional:**
|
|
32
|
+
- GNOME Shell - Install via `sudo dnf install gnome-shell` or `sudo yum install gnome-shell` (required for GNOME extension, if available in repositories)
|
|
33
|
+
- **Auto-installed:** None
|
|
34
|
+
|
|
35
|
+
### Windows (Chocolatey/winget)
|
|
36
|
+
- **Required:**
|
|
37
|
+
- Chocolatey - Install via PowerShell as Administrator: `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'))`
|
|
38
|
+
- **Optional:** None
|
|
39
|
+
- **Auto-installed:** None
|
|
40
|
+
|
|
41
|
+
### Git Bash (Manual/Portable)
|
|
42
|
+
- **Required:**
|
|
43
|
+
- Windows Caffeine installation - See Windows section above for installation via Chocolatey or manual download from https://www.zhornsoftware.co.uk/caffeine/
|
|
44
|
+
- **Optional:**
|
|
45
|
+
- Chocolatey - Install via PowerShell as Administrator (enables automated installation from Git Bash)
|
|
46
|
+
- **Auto-installed:** None
|
|
47
|
+
|
|
48
|
+
## Prerequisites
|
|
49
|
+
|
|
50
|
+
Before installing Caffeine on any platform, ensure:
|
|
51
|
+
|
|
52
|
+
1. **Internet connectivity** - Required to download the package or installer
|
|
53
|
+
2. **Administrative privileges** - Required on most platforms for system-wide installation
|
|
54
|
+
3. **Desktop environment** - Caffeine requires a graphical desktop environment on all platforms (it is not useful on headless servers)
|
|
55
|
+
|
|
56
|
+
## Platform-Specific Installation
|
|
57
|
+
|
|
58
|
+
### macOS (Homebrew)
|
|
59
|
+
|
|
60
|
+
#### Prerequisites
|
|
61
|
+
|
|
62
|
+
- macOS 11 (Big Sur) or later
|
|
63
|
+
- Homebrew package manager installed
|
|
64
|
+
- A graphical desktop session (not SSH-only)
|
|
65
|
+
|
|
66
|
+
If Homebrew is not installed, install it first:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### Installation Steps
|
|
73
|
+
|
|
74
|
+
Run the following command to install Caffeine:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
brew install --cask --quiet caffeine
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
The `--cask` flag specifies that this is a macOS application (not a command-line formula). The `--quiet` flag suppresses non-essential output, making the command suitable for automation scripts.
|
|
81
|
+
|
|
82
|
+
**Note**: macOS also includes a built-in command-line utility called `caffeinate` that provides similar functionality without requiring any installation. Use `caffeinate` in Terminal to prevent sleep while the command runs, or `caffeinate -d` to prevent display sleep specifically.
|
|
83
|
+
|
|
84
|
+
#### Verification
|
|
85
|
+
|
|
86
|
+
Confirm the installation succeeded by checking that the application exists:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
ls -la /Applications/Caffeine.app
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Expected output:
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
drwxr-xr-x@ 3 user staff 96 Jan 1 12:00 /Applications/Caffeine.app
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Alternatively, launch Caffeine from Spotlight (Cmd+Space, then type "Caffeine") and verify a coffee cup icon appears in the menu bar.
|
|
99
|
+
|
|
100
|
+
#### Troubleshooting
|
|
101
|
+
|
|
102
|
+
**Problem**: `Error: Cask 'caffeine' is unavailable`
|
|
103
|
+
|
|
104
|
+
**Solution**: Update Homebrew to get the latest cask definitions:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
brew update
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Problem**: Installation requires password but script cannot prompt
|
|
111
|
+
|
|
112
|
+
**Solution**: Homebrew cask installations may require authentication. Pre-authenticate with sudo before running:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
sudo -v && brew install --cask --quiet caffeine
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Problem**: Caffeine does not appear in menu bar after installation
|
|
119
|
+
|
|
120
|
+
**Solution**: Launch the application manually:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
open /Applications/Caffeine.app
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
To make Caffeine start automatically at login, add it to Login Items in System Preferences > Users & Groups > Login Items.
|
|
127
|
+
|
|
128
|
+
**Problem**: macOS Gatekeeper blocks the application
|
|
129
|
+
|
|
130
|
+
**Solution**: Approve the application in System Preferences > Security & Privacy > General, or run:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
xattr -dr com.apple.quarantine /Applications/Caffeine.app
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
### Ubuntu/Debian (APT)
|
|
139
|
+
|
|
140
|
+
#### Prerequisites
|
|
141
|
+
|
|
142
|
+
- Ubuntu 20.04 or later, or Debian 10 or later
|
|
143
|
+
- GNOME desktop environment (GNOME Shell)
|
|
144
|
+
- sudo privileges
|
|
145
|
+
|
|
146
|
+
**Note**: The `gnome-shell-extension-caffeine` package is available in the Ubuntu Universe repository for Ubuntu 20.04 (Focal) and earlier. For Ubuntu 22.04+ and Debian 11+, use the command-line alternative `systemd-inhibit` documented below.
|
|
147
|
+
|
|
148
|
+
#### Installation Steps
|
|
149
|
+
|
|
150
|
+
For Ubuntu 20.04 LTS and Debian 10/11 with GNOME:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y gnome-shell-extension-caffeine
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
After installation, enable the extension:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
gnome-extensions enable caffeine@patapon.info
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Note**: You may need to log out and log back in for the extension to appear in the GNOME Shell top bar.
|
|
163
|
+
|
|
164
|
+
**For Ubuntu 22.04+ and newer Debian versions**, the GNOME Shell extension package may not be available or compatible. Use `systemd-inhibit` instead, which is pre-installed on all systemd-based systems:
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
# Prevent sleep indefinitely (press Ctrl+C to stop)
|
|
168
|
+
systemd-inhibit --what=idle:sleep:shutdown sleep infinity
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
For background usage in scripts:
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# Run a command while preventing sleep
|
|
175
|
+
systemd-inhibit --what=idle:sleep your-long-running-command
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
#### Verification
|
|
179
|
+
|
|
180
|
+
For the GNOME extension, verify the extension is installed and enabled:
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
gnome-extensions list | grep caffeine
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Expected output:
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
caffeine@patapon.info
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
Check extension status:
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
gnome-extensions info caffeine@patapon.info
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
For `systemd-inhibit`, verify it is available:
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
which systemd-inhibit
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
Expected output:
|
|
205
|
+
|
|
206
|
+
```
|
|
207
|
+
/usr/bin/systemd-inhibit
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
#### Troubleshooting
|
|
211
|
+
|
|
212
|
+
**Problem**: `E: Unable to locate package gnome-shell-extension-caffeine`
|
|
213
|
+
|
|
214
|
+
**Solution**: The package is in the Universe repository (Ubuntu) or main repository (Debian). Enable Universe on Ubuntu:
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
sudo DEBIAN_FRONTEND=noninteractive add-apt-repository -y universe && sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
If the package is still unavailable, your Ubuntu/Debian version may be too new. Use `systemd-inhibit` instead.
|
|
221
|
+
|
|
222
|
+
**Problem**: Extension installed but not visible in GNOME Shell
|
|
223
|
+
|
|
224
|
+
**Solution**: Restart GNOME Shell by logging out and logging back in. On Xorg sessions, you can restart the shell with Alt+F2, then type `r` and press Enter.
|
|
225
|
+
|
|
226
|
+
**Problem**: `gnome-extensions: command not found`
|
|
227
|
+
|
|
228
|
+
**Solution**: Install the GNOME extensions CLI tool:
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y gnome-shell-extensions
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
**Problem**: Extension does not work after GNOME upgrade
|
|
235
|
+
|
|
236
|
+
**Solution**: The extension may be incompatible with your GNOME Shell version. Check the extension version compatibility:
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
gnome-shell --version
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
If incompatible, use `systemd-inhibit` as the alternative.
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
### Raspberry Pi OS (APT)
|
|
247
|
+
|
|
248
|
+
#### Prerequisites
|
|
249
|
+
|
|
250
|
+
- Raspberry Pi OS with desktop (not Lite)
|
|
251
|
+
- Raspberry Pi 3B+ or later recommended
|
|
252
|
+
- sudo privileges
|
|
253
|
+
|
|
254
|
+
**Important**: Raspberry Pi OS uses the LXDE or Wayfire desktop environment by default, not GNOME. The GNOME Shell extension will not work. Use command-line alternatives instead.
|
|
255
|
+
|
|
256
|
+
#### Installation Steps
|
|
257
|
+
|
|
258
|
+
Raspberry Pi OS includes `xset` for managing display power settings and `systemd-inhibit` for preventing system sleep. No additional installation is required.
|
|
259
|
+
|
|
260
|
+
To prevent the display from sleeping, run:
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
xset s off -dpms
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
This command:
|
|
267
|
+
- `s off` - Disables the screensaver
|
|
268
|
+
- `-dpms` - Disables Display Power Management Signaling (prevents monitor sleep)
|
|
269
|
+
|
|
270
|
+
To prevent system sleep while running a long process:
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
systemd-inhibit --what=idle:sleep your-long-running-command
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
For persistent display-on settings, add the xset command to autostart. Create or edit the autostart file:
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
mkdir -p ~/.config/lxsession/LXDE-pi
|
|
280
|
+
echo "@xset s off -dpms" >> ~/.config/lxsession/LXDE-pi/autostart
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
#### Verification
|
|
284
|
+
|
|
285
|
+
Verify display power management is disabled:
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
xset q | grep -A2 "DPMS"
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
Expected output when DPMS is disabled:
|
|
292
|
+
|
|
293
|
+
```
|
|
294
|
+
DPMS (Energy Star):
|
|
295
|
+
DPMS is Disabled
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
Verify `systemd-inhibit` is available:
|
|
299
|
+
|
|
300
|
+
```bash
|
|
301
|
+
which systemd-inhibit
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
Expected output:
|
|
305
|
+
|
|
306
|
+
```
|
|
307
|
+
/usr/bin/systemd-inhibit
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
#### Troubleshooting
|
|
311
|
+
|
|
312
|
+
**Problem**: `xset: unable to open display ""`
|
|
313
|
+
|
|
314
|
+
**Solution**: You are running in a non-graphical session (SSH). The command must be run from the desktop environment. If you need to set this remotely, specify the display:
|
|
315
|
+
|
|
316
|
+
```bash
|
|
317
|
+
DISPLAY=:0 xset s off -dpms
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
**Problem**: Screen still blanks after running xset commands
|
|
321
|
+
|
|
322
|
+
**Solution**: Raspberry Pi OS may have additional blanking settings in the desktop preferences. Open Raspberry Pi Configuration > Display and disable "Screen Blanking", or run:
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
sudo raspi-config nonint do_blanking 1
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
(Note: `1` disables blanking in raspi-config)
|
|
329
|
+
|
|
330
|
+
**Problem**: Settings reset after reboot
|
|
331
|
+
|
|
332
|
+
**Solution**: Ensure the autostart file is correctly configured. Verify the file exists and contains the xset command:
|
|
333
|
+
|
|
334
|
+
```bash
|
|
335
|
+
cat ~/.config/lxsession/LXDE-pi/autostart
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
Alternatively, add to `/etc/xdg/lxsession/LXDE-pi/autostart` for system-wide settings (requires sudo).
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
### Amazon Linux (DNF/YUM)
|
|
343
|
+
|
|
344
|
+
#### Prerequisites
|
|
345
|
+
|
|
346
|
+
- Amazon Linux 2023 or Amazon Linux 2
|
|
347
|
+
- Desktop environment installed (Amazon Linux is typically headless by default)
|
|
348
|
+
- sudo privileges
|
|
349
|
+
|
|
350
|
+
**Important**: Amazon Linux is primarily designed for server workloads and does not typically include a desktop environment. If you are running Amazon Linux as a desktop or need to prevent system sleep on a server, use `systemd-inhibit`.
|
|
351
|
+
|
|
352
|
+
#### Installation Steps
|
|
353
|
+
|
|
354
|
+
Amazon Linux includes `systemd-inhibit` by default. No installation is required.
|
|
355
|
+
|
|
356
|
+
To prevent system sleep while running a command:
|
|
357
|
+
|
|
358
|
+
```bash
|
|
359
|
+
systemd-inhibit --what=idle:sleep:shutdown your-long-running-command
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
To prevent sleep indefinitely (useful during maintenance):
|
|
363
|
+
|
|
364
|
+
```bash
|
|
365
|
+
systemd-inhibit --what=idle:sleep:shutdown sleep infinity &
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
To run in the background and later stop:
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
# Start inhibiting (save the PID)
|
|
372
|
+
systemd-inhibit --what=idle:sleep:shutdown sleep infinity &
|
|
373
|
+
INHIBIT_PID=$!
|
|
374
|
+
|
|
375
|
+
# Your long-running work here...
|
|
376
|
+
|
|
377
|
+
# Stop inhibiting
|
|
378
|
+
kill $INHIBIT_PID
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
If you have a desktop environment installed (such as GNOME), you can install the GNOME extension:
|
|
382
|
+
|
|
383
|
+
```bash
|
|
384
|
+
sudo dnf install -y gnome-shell-extension-caffeine 2>/dev/null || echo "GNOME extension not available, use systemd-inhibit"
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
**Note**: The GNOME extension package may not be available in the default Amazon Linux repositories. Use `systemd-inhibit` as the primary method.
|
|
388
|
+
|
|
389
|
+
#### Verification
|
|
390
|
+
|
|
391
|
+
Verify `systemd-inhibit` is available:
|
|
392
|
+
|
|
393
|
+
```bash
|
|
394
|
+
which systemd-inhibit
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
Expected output:
|
|
398
|
+
|
|
399
|
+
```
|
|
400
|
+
/usr/bin/systemd-inhibit
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
List current inhibitors:
|
|
404
|
+
|
|
405
|
+
```bash
|
|
406
|
+
systemd-inhibit --list
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
This shows all processes currently preventing sleep or shutdown.
|
|
410
|
+
|
|
411
|
+
#### Troubleshooting
|
|
412
|
+
|
|
413
|
+
**Problem**: `systemd-inhibit: command not found`
|
|
414
|
+
|
|
415
|
+
**Solution**: This should not occur on Amazon Linux 2023 or AL2 as systemd is the init system. Verify systemd is running:
|
|
416
|
+
|
|
417
|
+
```bash
|
|
418
|
+
ps -p 1 -o comm=
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
Expected output: `systemd`
|
|
422
|
+
|
|
423
|
+
**Problem**: System still sleeps despite inhibitor
|
|
424
|
+
|
|
425
|
+
**Solution**: Check if the inhibitor is active:
|
|
426
|
+
|
|
427
|
+
```bash
|
|
428
|
+
systemd-inhibit --list
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
If your inhibitor is not listed, the process may have exited. Use `sleep infinity` to keep the inhibitor running.
|
|
432
|
+
|
|
433
|
+
**Problem**: Need to prevent sleep during EC2 instance maintenance
|
|
434
|
+
|
|
435
|
+
**Solution**: EC2 instances do not have traditional sleep/suspend mechanisms. The instance will remain running unless explicitly stopped. For long-running processes, use `nohup` or `screen`/`tmux` instead:
|
|
436
|
+
|
|
437
|
+
```bash
|
|
438
|
+
nohup your-long-running-command &
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
---
|
|
442
|
+
|
|
443
|
+
### Windows (Chocolatey)
|
|
444
|
+
|
|
445
|
+
#### Prerequisites
|
|
446
|
+
|
|
447
|
+
- Windows 10 or Windows 11
|
|
448
|
+
- Chocolatey package manager installed
|
|
449
|
+
- Administrator PowerShell or Command Prompt
|
|
450
|
+
|
|
451
|
+
If Chocolatey is not installed, install it first by running this command in an Administrator PowerShell:
|
|
452
|
+
|
|
453
|
+
```powershell
|
|
454
|
+
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'))
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
#### Installation Steps
|
|
458
|
+
|
|
459
|
+
Run the following command in an Administrator PowerShell or Command Prompt:
|
|
460
|
+
|
|
461
|
+
```powershell
|
|
462
|
+
choco install caffeine -y
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
The `-y` flag automatically confirms all prompts, enabling fully non-interactive installation.
|
|
466
|
+
|
|
467
|
+
Caffeine will be installed to `C:\ProgramData\chocolatey\lib\caffeine\tools\` and a shortcut may be created in the Start Menu.
|
|
468
|
+
|
|
469
|
+
#### Verification
|
|
470
|
+
|
|
471
|
+
Confirm the installation succeeded:
|
|
472
|
+
|
|
473
|
+
```powershell
|
|
474
|
+
choco list --local-only | findstr caffeine
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
Expected output:
|
|
478
|
+
|
|
479
|
+
```
|
|
480
|
+
caffeine 1.98.0
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
Verify the executable exists:
|
|
484
|
+
|
|
485
|
+
```powershell
|
|
486
|
+
dir "C:\ProgramData\chocolatey\lib\caffeine\tools\caffeine.exe"
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
Launch Caffeine to verify it works:
|
|
490
|
+
|
|
491
|
+
```powershell
|
|
492
|
+
Start-Process "C:\ProgramData\chocolatey\lib\caffeine\tools\caffeine.exe"
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
A coffee cup icon should appear in the system tray.
|
|
496
|
+
|
|
497
|
+
#### Troubleshooting
|
|
498
|
+
|
|
499
|
+
**Problem**: `choco: The term 'choco' is not recognized`
|
|
500
|
+
|
|
501
|
+
**Solution**: Chocolatey is not installed or not in PATH. Close all terminal windows, open a new Administrator PowerShell, and verify Chocolatey is installed:
|
|
502
|
+
|
|
503
|
+
```powershell
|
|
504
|
+
Get-Command choco
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
**Problem**: Installation fails with access denied
|
|
508
|
+
|
|
509
|
+
**Solution**: Ensure you are running PowerShell as Administrator. Right-click PowerShell and select "Run as administrator".
|
|
510
|
+
|
|
511
|
+
**Problem**: Caffeine does not appear in system tray after launching
|
|
512
|
+
|
|
513
|
+
**Solution**: The system tray may be hiding the icon. Click the up arrow (^) in the system tray to show hidden icons. To always show the Caffeine icon, right-click the taskbar > Taskbar settings > Select which icons appear on the taskbar.
|
|
514
|
+
|
|
515
|
+
**Problem**: Caffeine does not prevent sleep on corporate/managed computers
|
|
516
|
+
|
|
517
|
+
**Solution**: Group Policy may override Caffeine's ability to prevent sleep. Contact your IT administrator, or use the built-in PowerShell command as an alternative:
|
|
518
|
+
|
|
519
|
+
```powershell
|
|
520
|
+
# Prevent sleep for 8 hours (28800 seconds)
|
|
521
|
+
powercfg -change -standby-timeout-ac 0
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
---
|
|
525
|
+
|
|
526
|
+
### WSL (Ubuntu)
|
|
527
|
+
|
|
528
|
+
#### Prerequisites
|
|
529
|
+
|
|
530
|
+
- Windows Subsystem for Linux with Ubuntu installed
|
|
531
|
+
- WSL 2 recommended
|
|
532
|
+
- sudo privileges within WSL
|
|
533
|
+
|
|
534
|
+
**Important**: WSL runs in a virtualized Linux environment that does not have direct control over Windows power management. To prevent your Windows host from sleeping, you must use Windows-native tools (see Windows section). WSL tools like `systemd-inhibit` will only affect the WSL environment, not the host.
|
|
535
|
+
|
|
536
|
+
#### Installation Steps
|
|
537
|
+
|
|
538
|
+
If you need to prevent the WSL session itself from timing out or being affected by Windows sleep, install `systemd-inhibit` support:
|
|
539
|
+
|
|
540
|
+
```bash
|
|
541
|
+
# Ensure systemd is enabled in WSL (WSL 2 only)
|
|
542
|
+
# Check if systemd is running:
|
|
543
|
+
ps -p 1 -o comm=
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
If the output is `systemd`, you can use `systemd-inhibit`:
|
|
547
|
+
|
|
548
|
+
```bash
|
|
549
|
+
systemd-inhibit --what=idle:sleep your-long-running-command
|
|
550
|
+
```
|
|
551
|
+
|
|
552
|
+
If systemd is not running (output is `init`), enable it by creating or editing `/etc/wsl.conf`:
|
|
553
|
+
|
|
554
|
+
```bash
|
|
555
|
+
sudo tee /etc/wsl.conf > /dev/null << 'EOF'
|
|
556
|
+
[boot]
|
|
557
|
+
systemd=true
|
|
558
|
+
EOF
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
Then restart WSL from PowerShell:
|
|
562
|
+
|
|
563
|
+
```powershell
|
|
564
|
+
wsl --shutdown
|
|
565
|
+
```
|
|
566
|
+
|
|
567
|
+
After restarting WSL, `systemd-inhibit` will be available.
|
|
568
|
+
|
|
569
|
+
**For preventing Windows host sleep from WSL**, call the Windows Caffeine executable:
|
|
570
|
+
|
|
571
|
+
```bash
|
|
572
|
+
# If Caffeine is installed on Windows via Chocolatey:
|
|
573
|
+
/mnt/c/ProgramData/chocolatey/lib/caffeine/tools/caffeine.exe &
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
#### Verification
|
|
577
|
+
|
|
578
|
+
Verify systemd is running:
|
|
579
|
+
|
|
580
|
+
```bash
|
|
581
|
+
ps -p 1 -o comm=
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
Expected output for systemd-enabled WSL:
|
|
585
|
+
|
|
586
|
+
```
|
|
587
|
+
systemd
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
Verify `systemd-inhibit` is available:
|
|
591
|
+
|
|
592
|
+
```bash
|
|
593
|
+
which systemd-inhibit
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
Expected output:
|
|
597
|
+
|
|
598
|
+
```
|
|
599
|
+
/usr/bin/systemd-inhibit
|
|
600
|
+
```
|
|
601
|
+
|
|
602
|
+
#### Troubleshooting
|
|
603
|
+
|
|
604
|
+
**Problem**: `systemd-inhibit: command not found`
|
|
605
|
+
|
|
606
|
+
**Solution**: Systemd is not enabled in WSL. Follow the steps above to enable systemd in `/etc/wsl.conf` and restart WSL.
|
|
607
|
+
|
|
608
|
+
**Problem**: Windows still sleeps even with WSL inhibitor active
|
|
609
|
+
|
|
610
|
+
**Solution**: WSL inhibitors do not affect the Windows host. Install and run Caffeine on Windows (see Windows section), or use Windows power settings to disable sleep.
|
|
611
|
+
|
|
612
|
+
**Problem**: WSL session terminates when Windows sleeps
|
|
613
|
+
|
|
614
|
+
**Solution**: Configure Windows to never sleep when on AC power:
|
|
615
|
+
|
|
616
|
+
```powershell
|
|
617
|
+
# Run in Windows PowerShell as Administrator
|
|
618
|
+
powercfg -change -standby-timeout-ac 0
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
Or install Windows Caffeine and run it before starting long WSL processes.
|
|
622
|
+
|
|
623
|
+
---
|
|
624
|
+
|
|
625
|
+
### Git Bash (Windows Installation)
|
|
626
|
+
|
|
627
|
+
#### Prerequisites
|
|
628
|
+
|
|
629
|
+
- Windows 10 or Windows 11
|
|
630
|
+
- Git Bash installed (comes with Git for Windows)
|
|
631
|
+
- Caffeine installed on Windows (see Windows section above)
|
|
632
|
+
|
|
633
|
+
**Note**: Git Bash runs on Windows and does not have its own power management. Use Windows Caffeine, which will be accessible from Git Bash once installed.
|
|
634
|
+
|
|
635
|
+
#### Installation Steps
|
|
636
|
+
|
|
637
|
+
Git Bash inherits the Windows PATH and can access Windows executables. First, install Caffeine on Windows using Chocolatey (from an Administrator Command Prompt or PowerShell):
|
|
638
|
+
|
|
639
|
+
```bash
|
|
640
|
+
# From Git Bash, call Windows choco.exe
|
|
641
|
+
/c/ProgramData/chocolatey/bin/choco.exe install caffeine -y
|
|
642
|
+
```
|
|
643
|
+
|
|
644
|
+
Alternatively, download Caffeine manually:
|
|
645
|
+
|
|
646
|
+
```bash
|
|
647
|
+
# Download Caffeine to a local directory
|
|
648
|
+
curl -L -o ~/caffeine.zip "https://www.zhornsoftware.co.uk/caffeine/caffeine.zip"
|
|
649
|
+
|
|
650
|
+
# Extract (requires unzip or use Windows built-in)
|
|
651
|
+
mkdir -p ~/bin
|
|
652
|
+
unzip -o ~/caffeine.zip -d ~/bin/
|
|
653
|
+
|
|
654
|
+
# The executable is now at ~/bin/caffeine64.exe or ~/bin/caffeine.exe
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
After installation, you can launch Caffeine from Git Bash:
|
|
658
|
+
|
|
659
|
+
```bash
|
|
660
|
+
# If installed via Chocolatey:
|
|
661
|
+
/c/ProgramData/chocolatey/lib/caffeine/tools/caffeine.exe &
|
|
662
|
+
|
|
663
|
+
# If downloaded manually:
|
|
664
|
+
~/bin/caffeine64.exe &
|
|
665
|
+
```
|
|
666
|
+
|
|
667
|
+
#### Verification
|
|
668
|
+
|
|
669
|
+
Verify Caffeine is accessible from Git Bash:
|
|
670
|
+
|
|
671
|
+
```bash
|
|
672
|
+
# Check if Chocolatey version exists:
|
|
673
|
+
ls -la /c/ProgramData/chocolatey/lib/caffeine/tools/caffeine.exe
|
|
674
|
+
|
|
675
|
+
# Or check manual download:
|
|
676
|
+
ls -la ~/bin/caffeine*.exe
|
|
677
|
+
```
|
|
678
|
+
|
|
679
|
+
Launch Caffeine and verify the system tray icon appears:
|
|
680
|
+
|
|
681
|
+
```bash
|
|
682
|
+
/c/ProgramData/chocolatey/lib/caffeine/tools/caffeine.exe &
|
|
683
|
+
```
|
|
684
|
+
|
|
685
|
+
#### Troubleshooting
|
|
686
|
+
|
|
687
|
+
**Problem**: `No such file or directory` when launching caffeine.exe
|
|
688
|
+
|
|
689
|
+
**Solution**: Caffeine may not be installed. Install via Chocolatey from an Administrator prompt:
|
|
690
|
+
|
|
691
|
+
```bash
|
|
692
|
+
# Open Windows Command Prompt as Administrator and run:
|
|
693
|
+
choco install caffeine -y
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
Then retry from Git Bash.
|
|
697
|
+
|
|
698
|
+
**Problem**: Git Bash cannot find Windows executables
|
|
699
|
+
|
|
700
|
+
**Solution**: Ensure Windows PATH is inherited. Check your Git Bash PATH:
|
|
701
|
+
|
|
702
|
+
```bash
|
|
703
|
+
echo $PATH | tr ':' '\n' | grep -i windows
|
|
704
|
+
```
|
|
705
|
+
|
|
706
|
+
If Windows paths are not present, add them to your `~/.bashrc`:
|
|
707
|
+
|
|
708
|
+
```bash
|
|
709
|
+
echo 'export PATH=$PATH:/c/ProgramData/chocolatey/bin' >> ~/.bashrc
|
|
710
|
+
source ~/.bashrc
|
|
711
|
+
```
|
|
712
|
+
|
|
713
|
+
**Problem**: Caffeine runs but does not prevent sleep
|
|
714
|
+
|
|
715
|
+
**Solution**: Caffeine must remain running to prevent sleep. Use the `&` to background the process, or launch it from Windows Start Menu for persistent operation. To run at startup, add Caffeine to Windows Startup folder.
|
|
716
|
+
|
|
717
|
+
**Problem**: Want command-line control without GUI
|
|
718
|
+
|
|
719
|
+
**Solution**: Windows Caffeine supports command-line arguments. Run with `-startoff` to start disabled, or specify a timeout:
|
|
720
|
+
|
|
721
|
+
```bash
|
|
722
|
+
# Start Caffeine but disabled (click icon to enable)
|
|
723
|
+
/c/ProgramData/chocolatey/lib/caffeine/tools/caffeine.exe -startoff &
|
|
724
|
+
|
|
725
|
+
# Run for 2 hours then exit (7200 seconds)
|
|
726
|
+
/c/ProgramData/chocolatey/lib/caffeine/tools/caffeine.exe -exitafter:120 &
|
|
727
|
+
```
|
|
728
|
+
|
|
729
|
+
---
|
|
730
|
+
|
|
731
|
+
## Post-Installation Configuration
|
|
732
|
+
|
|
733
|
+
### macOS
|
|
734
|
+
|
|
735
|
+
To make Caffeine start automatically at login:
|
|
736
|
+
|
|
737
|
+
1. Open System Preferences > Users & Groups
|
|
738
|
+
2. Select your user account
|
|
739
|
+
3. Click the "Login Items" tab
|
|
740
|
+
4. Click the "+" button and add `/Applications/Caffeine.app`
|
|
741
|
+
|
|
742
|
+
Alternatively, use the command line:
|
|
743
|
+
|
|
744
|
+
```bash
|
|
745
|
+
osascript -e 'tell application "System Events" to make login item at end with properties {path:"/Applications/Caffeine.app", hidden:false}'
|
|
746
|
+
```
|
|
747
|
+
|
|
748
|
+
### Linux (GNOME Extension)
|
|
749
|
+
|
|
750
|
+
The GNOME Caffeine extension can be configured to automatically activate when certain applications are running (e.g., video players). Access settings via:
|
|
751
|
+
|
|
752
|
+
```bash
|
|
753
|
+
gnome-extensions prefs caffeine@patapon.info
|
|
754
|
+
```
|
|
755
|
+
|
|
756
|
+
Or through GNOME Extensions application if installed.
|
|
757
|
+
|
|
758
|
+
### Windows
|
|
759
|
+
|
|
760
|
+
To make Caffeine start automatically at login:
|
|
761
|
+
|
|
762
|
+
1. Press Win+R, type `shell:startup`, and press Enter
|
|
763
|
+
2. Create a shortcut to `C:\ProgramData\chocolatey\lib\caffeine\tools\caffeine.exe` in this folder
|
|
764
|
+
|
|
765
|
+
Or use the command line in an Administrator PowerShell:
|
|
766
|
+
|
|
767
|
+
```powershell
|
|
768
|
+
$WshShell = New-Object -comObject WScript.Shell
|
|
769
|
+
$Shortcut = $WshShell.CreateShortcut("$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup\Caffeine.lnk")
|
|
770
|
+
$Shortcut.TargetPath = "C:\ProgramData\chocolatey\lib\caffeine\tools\caffeine.exe"
|
|
771
|
+
$Shortcut.Save()
|
|
772
|
+
```
|
|
773
|
+
|
|
774
|
+
---
|
|
775
|
+
|
|
776
|
+
## Common Issues
|
|
777
|
+
|
|
778
|
+
### Issue: Computer Still Sleeps Despite Caffeine Running
|
|
779
|
+
|
|
780
|
+
**Symptoms**: Caffeine appears to be active, but the computer still enters sleep mode.
|
|
781
|
+
|
|
782
|
+
**Solution**:
|
|
783
|
+
1. Verify Caffeine is actually running and enabled (check for active/full coffee cup icon)
|
|
784
|
+
2. On macOS, check System Preferences > Battery > Power Adapter and ensure sleep timer is not overriding Caffeine
|
|
785
|
+
3. On Windows, check Power Options in Control Panel for conflicting settings
|
|
786
|
+
4. On Linux, check if another power management service is overriding the inhibitor
|
|
787
|
+
|
|
788
|
+
### Issue: Caffeine Prevents Sleep Even When Disabled
|
|
789
|
+
|
|
790
|
+
**Symptoms**: After disabling Caffeine, the computer still does not sleep.
|
|
791
|
+
|
|
792
|
+
**Solution**:
|
|
793
|
+
1. Completely quit/exit Caffeine (not just disable)
|
|
794
|
+
2. On macOS, use Cmd+Q or right-click the menu bar icon and select "Quit"
|
|
795
|
+
3. On Windows, right-click the system tray icon and select "Exit"
|
|
796
|
+
4. On Linux, disable the extension or kill the process: `killall caffeine`
|
|
797
|
+
|
|
798
|
+
### Issue: Multiple Caffeine-Like Tools Conflicting
|
|
799
|
+
|
|
800
|
+
**Symptoms**: Inconsistent behavior, multiple icons in system tray/menu bar.
|
|
801
|
+
|
|
802
|
+
**Solution**: Use only one sleep-prevention tool at a time. Remove or disable others:
|
|
803
|
+
|
|
804
|
+
```bash
|
|
805
|
+
# macOS - list running caffeine-like apps
|
|
806
|
+
ps aux | grep -i caffeine
|
|
807
|
+
|
|
808
|
+
# Linux - check active inhibitors
|
|
809
|
+
systemd-inhibit --list
|
|
810
|
+
|
|
811
|
+
# Windows - check system tray for multiple icons
|
|
812
|
+
```
|
|
813
|
+
|
|
814
|
+
### Issue: High CPU Usage from Caffeine
|
|
815
|
+
|
|
816
|
+
**Symptoms**: Caffeine process consuming excessive CPU.
|
|
817
|
+
|
|
818
|
+
**Solution**: This is rare but can happen with older versions. Update to the latest version:
|
|
819
|
+
|
|
820
|
+
```bash
|
|
821
|
+
# macOS
|
|
822
|
+
brew upgrade --cask caffeine
|
|
823
|
+
|
|
824
|
+
# Windows
|
|
825
|
+
choco upgrade caffeine -y
|
|
826
|
+
```
|
|
827
|
+
|
|
828
|
+
---
|
|
829
|
+
|
|
830
|
+
## References
|
|
831
|
+
|
|
832
|
+
- [Caffeine for macOS - Homebrew Formulae](https://formulae.brew.sh/cask/caffeine)
|
|
833
|
+
- [macOS caffeinate command - Apple Developer Documentation](https://developer.apple.com/library/archive/documentation/Darwin/Reference/ManPages/man8/caffeinate.8.html)
|
|
834
|
+
- [GNOME Shell Extension Caffeine](https://extensions.gnome.org/extension/517/caffeine/)
|
|
835
|
+
- [GNOME Shell Extension Caffeine - GitHub](https://github.com/eonpatapon/gnome-shell-extension-caffeine)
|
|
836
|
+
- [systemd-inhibit Manual Page](https://www.freedesktop.org/software/systemd/man/latest/systemd-inhibit.html)
|
|
837
|
+
- [Caffeine for Windows - Zhorn Software](https://www.zhornsoftware.co.uk/caffeine/)
|
|
838
|
+
- [Caffeine for Windows - Chocolatey Package](https://community.chocolatey.org/packages/caffeine)
|
|
839
|
+
- [Raspberry Pi Display Power Management](https://www.raspberrypi.com/documentation/computers/configuration.html)
|