@fredlackey/devutils 0.0.14 → 0.0.16

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.
@@ -0,0 +1,446 @@
1
+ # Installing Parallels Desktop
2
+
3
+ ## Dependencies
4
+
5
+ ### macOS (Homebrew)
6
+ - **Required:**
7
+ - Homebrew - Install via `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`
8
+ - macOS 13 (Ventura) or later
9
+ - Apple Silicon (M-series) or Intel processor
10
+ - **Optional:**
11
+ - Parallels license key (required for activation; can be activated after installation)
12
+ - **Auto-installed:** None (Parallels Desktop is a complete standalone application)
13
+
14
+ ### Ubuntu (APT/Snap)
15
+ - **Not Supported** - Parallels Desktop is a macOS-only application. It cannot be installed on Ubuntu or any Linux distribution as a host operating system.
16
+
17
+ ### Raspberry Pi OS (APT/Snap)
18
+ - **Not Supported** - Parallels Desktop is a macOS-only application. It cannot be installed on Raspberry Pi OS.
19
+
20
+ ### Amazon Linux (DNF/YUM)
21
+ - **Not Supported** - Parallels Desktop is a macOS-only application. It cannot be installed on Amazon Linux.
22
+
23
+ ### Windows (Chocolatey/winget)
24
+ - **Not Supported** - Parallels Desktop is a macOS-only application. Parallels previously offered "Parallels Workstation" for Windows, but this product was discontinued in 2013.
25
+
26
+ ### Git Bash (Manual/Portable)
27
+ - **Not Supported** - Parallels Desktop is a macOS-only application. Git Bash runs on Windows, where Parallels Desktop is not available.
28
+
29
+ ## Overview
30
+
31
+ Parallels Desktop is a desktop virtualization software exclusively designed for macOS. It enables Mac users to run Windows, Linux, and other operating systems as virtual machines (VMs) alongside macOS without rebooting. Parallels Desktop provides hardware virtualization that allows near-native performance for guest operating systems.
32
+
33
+ Key features include:
34
+
35
+ - **Seamless Integration**: Run Windows applications directly from the macOS Dock, open files with Windows apps, and copy/paste between operating systems
36
+ - **Coherence Mode**: Windows applications appear as native macOS windows without showing the Windows desktop
37
+ - **Apple Silicon Support**: Full native support for M-series Macs running ARM-based guest operating systems
38
+ - **Performance Optimization**: Hardware-accelerated graphics, USB device passthrough, and shared folders
39
+ - **Developer Tools**: Command-line interface (CLI) for managing VMs programmatically, support for Docker containers, and integration with development workflows
40
+
41
+ **Important Note**: Parallels Desktop is commercial software requiring a paid license for continued use after the trial period. A valid license key is required for activation.
42
+
43
+ ## Prerequisites
44
+
45
+ Before installing Parallels Desktop:
46
+
47
+ 1. **macOS Version**: macOS 13 (Ventura) or later is required for Parallels Desktop 26
48
+ 2. **Hardware**: Apple Silicon (M1/M2/M3/M4) or Intel Core i5/i7/i9/Xeon processor
49
+ 3. **RAM**: Minimum 4 GB (16 GB or more recommended for optimal performance)
50
+ 4. **Disk Space**: At least 600 MB for the application, plus 16 GB minimum for each guest operating system
51
+ 5. **Internet Connection**: Required for product activation and updates
52
+ 6. **Administrative Privileges**: Required during installation to install system extensions
53
+
54
+ **Architecture Considerations**:
55
+ - On Apple Silicon Macs, only ARM-compatible guest operating systems can run natively (Windows 11 ARM, ARM Linux distributions, macOS)
56
+ - On Intel Macs, x86/x64 guest operating systems are supported
57
+ - Parallels Desktop does not emulate x86 on Apple Silicon (some experimental x86 emulation is available in recent versions)
58
+
59
+ ## Platform-Specific Installation
60
+
61
+ ### macOS (Homebrew)
62
+
63
+ #### Prerequisites
64
+
65
+ - macOS 13 (Ventura) or later
66
+ - Homebrew package manager installed
67
+ - At least 4 GB RAM (16 GB recommended)
68
+ - At least 20 GB free disk space (600 MB for app + space for VMs)
69
+ - Apple Silicon (M-series) or Intel processor
70
+ - Internet connection for activation
71
+
72
+ If Homebrew is not installed, install it first:
73
+
74
+ ```bash
75
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
76
+ ```
77
+
78
+ #### Installation Steps
79
+
80
+ Run the following command to install Parallels Desktop:
81
+
82
+ ```bash
83
+ brew install --quiet --cask parallels
84
+ ```
85
+
86
+ The `--quiet` flag suppresses non-essential output, and `--cask` specifies the graphical application version.
87
+
88
+ **Note**: The first time you run Parallels Desktop, it will request permission to install system extensions. Grant this permission in System Settings > Privacy & Security.
89
+
90
+ After installation, launch Parallels Desktop:
91
+
92
+ ```bash
93
+ open -a "Parallels Desktop"
94
+ ```
95
+
96
+ On first launch, you will be prompted to:
97
+ 1. Accept the license agreement
98
+ 2. Sign in or create a Parallels account
99
+ 3. Activate your license or start a trial
100
+
101
+ #### License Activation via CLI (Pro/Business Editions)
102
+
103
+ If you have a Pro or Business Edition license and want to activate via command line:
104
+
105
+ ```bash
106
+ # Sign in to your Parallels account first
107
+ prlsrvctl web-portal signin <your-email@example.com>
108
+
109
+ # Install and activate the license
110
+ prlsrvctl install-license -k <your-license-key>
111
+ ```
112
+
113
+ **Note**: CLI license management is only available in Pro and Business editions. Standard edition requires GUI activation.
114
+
115
+ #### Verification
116
+
117
+ Confirm the installation succeeded by checking the version:
118
+
119
+ ```bash
120
+ prlctl --version
121
+ ```
122
+
123
+ Expected output (version numbers may vary):
124
+
125
+ ```
126
+ prlctl version 26.2.1 (57371)
127
+ ```
128
+
129
+ Verify Parallels Desktop is running:
130
+
131
+ ```bash
132
+ prlsrvctl info
133
+ ```
134
+
135
+ This displays information about the Parallels Desktop installation, including license status and version.
136
+
137
+ #### Troubleshooting
138
+
139
+ **Problem**: Installation fails with "Permission denied" or "Operation not permitted"
140
+
141
+ **Solution**: Grant Terminal (or your terminal application) Full Disk Access:
142
+
143
+ 1. Open System Settings > Privacy & Security > Full Disk Access
144
+ 2. Click the lock icon and authenticate
145
+ 3. Add Terminal (or your terminal app) to the list
146
+ 4. Restart Terminal and retry the installation:
147
+
148
+ ```bash
149
+ brew uninstall --cask parallels
150
+ brew install --quiet --cask parallels
151
+ ```
152
+
153
+ **Problem**: "System Extension Blocked" message on first launch
154
+
155
+ **Solution**: Allow the Parallels system extension:
156
+
157
+ 1. Open System Settings > Privacy & Security
158
+ 2. Scroll down to find the blocked extension message
159
+ 3. Click "Allow" next to Parallels
160
+ 4. Restart your Mac if prompted
161
+
162
+ **Problem**: `prlctl: command not found` after installation
163
+
164
+ **Solution**: Parallels Desktop may not have added its CLI tools to PATH. Add them manually:
165
+
166
+ ```bash
167
+ echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc
168
+ source ~/.zshrc
169
+ ```
170
+
171
+ Or for bash:
172
+
173
+ ```bash
174
+ echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
175
+ source ~/.bash_profile
176
+ ```
177
+
178
+ **Problem**: Activation fails with network errors
179
+
180
+ **Solution**: Check your internet connection and firewall settings. Parallels requires access to activation servers. If behind a corporate firewall, contact your IT department to allow access to `*.parallels.com`.
181
+
182
+ **Problem**: Poor performance on Apple Silicon
183
+
184
+ **Solution**: Ensure you are running ARM-compatible guest operating systems. Running x86 guests through emulation will be significantly slower. Use Windows 11 ARM or ARM Linux distributions for best performance.
185
+
186
+ ---
187
+
188
+ ### Ubuntu/Debian (APT)
189
+
190
+ #### Platform Not Supported
191
+
192
+ Parallels Desktop is exclusively developed for macOS and cannot be installed on Ubuntu, Debian, or any other Linux distribution as a host operating system.
193
+
194
+ #### Alternative Virtualization Solutions for Ubuntu
195
+
196
+ If you need virtualization on Ubuntu, consider these alternatives:
197
+
198
+ - **KVM/QEMU with virt-manager**: Native Linux virtualization with excellent performance
199
+ - **VirtualBox**: Cross-platform virtualization software (free, open-source)
200
+ - **VMware Workstation**: Commercial virtualization for Linux and Windows hosts
201
+
202
+ ---
203
+
204
+ ### Raspberry Pi OS (APT)
205
+
206
+ #### Platform Not Supported
207
+
208
+ Parallels Desktop is exclusively developed for macOS and cannot be installed on Raspberry Pi OS. The ARM architecture of Raspberry Pi is not a limiting factor - Parallels simply does not develop software for any Linux distribution.
209
+
210
+ #### Alternative Virtualization Solutions for Raspberry Pi
211
+
212
+ Due to the limited resources of Raspberry Pi hardware, full virtualization is typically not practical. Consider:
213
+
214
+ - **Docker**: Lightweight containerization that works well on Raspberry Pi
215
+ - **QEMU**: Can emulate other architectures, though with significant performance overhead
216
+
217
+ ---
218
+
219
+ ### Amazon Linux (DNF/YUM)
220
+
221
+ #### Platform Not Supported
222
+
223
+ Parallels Desktop is exclusively developed for macOS and cannot be installed on Amazon Linux or any other Linux distribution.
224
+
225
+ #### Alternative Virtualization Solutions for Amazon Linux
226
+
227
+ For virtualization on Amazon Linux (typically running on AWS EC2):
228
+
229
+ - **AWS EC2 Nested Virtualization**: Available on certain instance types (metal instances)
230
+ - **Docker/Podman**: Container-based isolation
231
+ - **KVM**: If running on bare metal or supported EC2 instances
232
+
233
+ ---
234
+
235
+ ### Windows (Chocolatey/winget)
236
+
237
+ #### Platform Not Supported
238
+
239
+ Parallels Desktop is exclusively developed for macOS and cannot be installed on Windows.
240
+
241
+ **Historical Note**: Parallels previously offered "Parallels Workstation" for Windows and Linux hosts, but this product was discontinued in 2013. There is no current Parallels product for Windows.
242
+
243
+ #### Alternative Virtualization Solutions for Windows
244
+
245
+ - **Hyper-V**: Built-in Windows virtualization (Windows 10/11 Pro, Enterprise, Education)
246
+ - **VMware Workstation**: Commercial virtualization software
247
+ - **VirtualBox**: Cross-platform virtualization software (free, open-source)
248
+ - **WSL 2**: Windows Subsystem for Linux for running Linux distributions
249
+
250
+ ---
251
+
252
+ ### WSL (Ubuntu)
253
+
254
+ #### Platform Not Supported
255
+
256
+ Parallels Desktop cannot be installed within WSL. WSL is a Linux compatibility layer running on Windows, and Parallels Desktop only runs on macOS.
257
+
258
+ #### Note About Virtualization in WSL
259
+
260
+ WSL 2 itself uses virtualization technology (Hyper-V) to run Linux. Running additional virtualization software within WSL is not supported and would require nested virtualization, which is not available in WSL.
261
+
262
+ ---
263
+
264
+ ### Git Bash (Manual/Portable)
265
+
266
+ #### Platform Not Supported
267
+
268
+ Parallels Desktop cannot be installed in Git Bash or any Windows environment. Git Bash is a terminal emulator for Windows, and Parallels Desktop is exclusively available for macOS.
269
+
270
+ ---
271
+
272
+ ## Post-Installation Configuration
273
+
274
+ These configurations apply only to macOS installations.
275
+
276
+ ### Creating Your First Virtual Machine
277
+
278
+ After activating Parallels Desktop, create a virtual machine:
279
+
280
+ ```bash
281
+ # List available OS templates
282
+ prlctl create-template --list
283
+
284
+ # Create a Windows 11 ARM VM (Apple Silicon)
285
+ prlctl create "Windows 11" --ostype win-11-arm
286
+
287
+ # Start the VM
288
+ prlctl start "Windows 11"
289
+ ```
290
+
291
+ **Note**: Creating VMs typically requires downloading the guest OS installation media. Parallels Desktop can automatically download Windows 11 ARM for Apple Silicon Macs.
292
+
293
+ ### Configuring VM Resources via CLI
294
+
295
+ Adjust VM resources using the command line:
296
+
297
+ ```bash
298
+ # Stop the VM first
299
+ prlctl stop "Windows 11"
300
+
301
+ # Set CPU count
302
+ prlctl set "Windows 11" --cpus 4
303
+
304
+ # Set RAM (in MB)
305
+ prlctl set "Windows 11" --memsize 8192
306
+
307
+ # Start the VM
308
+ prlctl start "Windows 11"
309
+ ```
310
+
311
+ ### Enabling Shared Folders
312
+
313
+ Share folders between macOS and your VM:
314
+
315
+ ```bash
316
+ prlctl set "Windows 11" --shf-host on
317
+ prlctl set "Windows 11" --shf-host-defined ~/Documents
318
+ ```
319
+
320
+ ### Configuring Network Mode
321
+
322
+ Set the VM network mode:
323
+
324
+ ```bash
325
+ # Shared networking (NAT) - default
326
+ prlctl set "Windows 11" --device-set net0 --type shared
327
+
328
+ # Bridged networking - VM gets its own IP on your network
329
+ prlctl set "Windows 11" --device-set net0 --type bridged
330
+ ```
331
+
332
+ ### Checking License Status
333
+
334
+ View current license information:
335
+
336
+ ```bash
337
+ prlsrvctl info --license
338
+ ```
339
+
340
+ ---
341
+
342
+ ## Common Issues
343
+
344
+ ### Issue: "Parallels Desktop cannot be opened because it is from an unidentified developer"
345
+
346
+ **Symptoms**: macOS Gatekeeper blocks the application from opening.
347
+
348
+ **Solution**: Right-click on Parallels Desktop in Applications and select "Open", then click "Open" in the dialog. Alternatively, allow the app in System Settings > Privacy & Security.
349
+
350
+ ### Issue: VM Performance is Slow
351
+
352
+ **Symptoms**: Virtual machines run sluggishly, applications within VMs lag.
353
+
354
+ **Solutions**:
355
+
356
+ 1. Allocate more RAM and CPU cores to the VM:
357
+
358
+ ```bash
359
+ prlctl stop "VM Name"
360
+ prlctl set "VM Name" --cpus 4 --memsize 8192
361
+ prlctl start "VM Name"
362
+ ```
363
+
364
+ 2. Ensure Parallels Tools are installed in the guest OS (provides driver optimization)
365
+
366
+ 3. Use an SSD for VM storage
367
+
368
+ 4. Close unnecessary applications on the Mac host
369
+
370
+ ### Issue: Cannot Start VM - "Not enough disk space"
371
+
372
+ **Symptoms**: VM fails to start with disk space error.
373
+
374
+ **Solution**: Free up disk space on your Mac or move VM files to an external drive:
375
+
376
+ ```bash
377
+ # Check VM disk usage
378
+ prlctl list -a --info | grep -A 5 "Disk"
379
+
380
+ # Move VM to external drive (VM must be stopped)
381
+ mv ~/Parallels/*.pvm /Volumes/ExternalDrive/Parallels/
382
+ ```
383
+
384
+ ### Issue: Network Not Working in VM
385
+
386
+ **Symptoms**: VM cannot access internet or local network.
387
+
388
+ **Solutions**:
389
+
390
+ 1. Reset VM network adapter:
391
+
392
+ ```bash
393
+ prlctl set "VM Name" --device-del net0
394
+ prlctl set "VM Name" --device-add net --type shared
395
+ ```
396
+
397
+ 2. Restart Parallels networking service:
398
+
399
+ ```bash
400
+ sudo launchctl unload /Library/LaunchDaemons/com.parallels.vm.prl_naptd.plist
401
+ sudo launchctl load /Library/LaunchDaemons/com.parallels.vm.prl_naptd.plist
402
+ ```
403
+
404
+ ### Issue: USB Device Not Recognized by VM
405
+
406
+ **Symptoms**: USB devices connected to Mac are not visible in VM.
407
+
408
+ **Solution**: Manually connect the device to the VM:
409
+
410
+ 1. Go to Devices menu in Parallels Desktop
411
+ 2. Select USB & Bluetooth
412
+ 3. Choose the device to connect to the VM
413
+
414
+ Or via CLI (requires knowing the device ID):
415
+
416
+ ```bash
417
+ prlctl usb list
418
+ prlctl usb connect "VM Name" <device-id>
419
+ ```
420
+
421
+ ### Issue: Parallels Desktop License Expired
422
+
423
+ **Symptoms**: Application prompts for license renewal or features are restricted.
424
+
425
+ **Solution**: Renew your license at parallels.com or enter a new license key:
426
+
427
+ ```bash
428
+ # Check current license status
429
+ prlsrvctl info --license
430
+
431
+ # Install new license (Pro/Business editions)
432
+ prlsrvctl install-license -k <new-license-key>
433
+ ```
434
+
435
+ ---
436
+
437
+ ## References
438
+
439
+ - [Parallels Desktop Official Website](https://www.parallels.com/products/desktop/)
440
+ - [Parallels Desktop System Requirements](https://kb.parallels.com/124223)
441
+ - [Parallels Desktop and macOS Compatibility](https://kb.parallels.com/114381)
442
+ - [Parallels Desktop Command-Line Interface Guide](https://docs.parallels.com/parallels-desktop-developers-guide/command-line-interface-utility)
443
+ - [Parallels Desktop Homebrew Cask](https://formulae.brew.sh/cask/parallels)
444
+ - [Parallels Desktop on Apple Silicon](https://kb.parallels.com/125343)
445
+ - [Parallels Desktop Resources and System Requirements](https://www.parallels.com/products/desktop/resources/)
446
+ - [Parallels Knowledge Base](https://kb.parallels.com/)