Initialize shared directory with SPICE WebDAV
Install Dependencies
SPICE guest tools
SPICE WebDAV
SPICE WebDAV is required for QEMU directory sharing as an alternative to VirtFS.
Since we’re on ArchLinux, we should run the following command:
1 | sudo pacman -S phodav |
Now we should want to visit the shared directory.
Normally, it is exposed as a WebDAV mount on the guest’s localhost (typically on port 9843).
To access it, we need a browser.
Firefox
I don’t have one yet, so I’ll Install Firefox via yay.
1 | yay -S firefox |
Before we move on, let’s configure the DISPLAY environment variable first. Again, I need to install one:
1 | sudo pacman -S xorg xorg-xinit xfce4 |
Before we proceed, make sure to check the following conditions:
X Window System is actually running: You can start the X Window System by running the command
startxin a terminal window.
You have permission to access the X Window System: You may need to add your user account to the
videogroup by running the commandsudo usermod -aG video <username>.
X Window System is configured to allow remote connections: You may need to edit the
/etc/X11/xinit/xserverrcfile to include the-listen tcpoption. For example, you can add the lineexec /usr/bin/X -listen tcpto the file.
We may face some problems when we run startx because X server requires some sort of display device or screen so that it can display graphical output, and since ArchLinux is text-based, we’ll have to go through a few extra steps.
Run
sudo pacman -S xf86-video-fbdevto install thexf86-video-fbdevpackage. This package provides a generic framebuffer driver that can be used in place of a specific display driver.Edit the
/etc/X11/xorg.conf.d/10-monitor.conffile to specify thefbdevdriver. We can do this by adding the following lines to the file:
1 | Section "Device" |
That should do the trick when we run startx again.
If the X server still fails to start, you may need to investigate further by checking the /var/log/Xorg.0.log file for additional information about the error.
After double-checking the conditions listed above, we can now run the command export DISPLAY=:0 to set the display environment variable to the default value for the X Window System.
At last we launch Firefox and navigate to http://127.0.0.1:9843.
1 | firefox http://127.0.0.1:9843 |
We can also try running Firefox with the --no-remote option. This option tells Firefox to open a new instance of the browser, rather than connecting to an existing instance.
1 | firefox --no-remote http://127.0.0.1:9843 |
If the SPICE WebDAV service is running correctly, you should be able to see the page in the Firefox browser window.
Headless browser
Puppeteer
See here
i2pdbrowser
Clone this repo:
1 | git clone https://github.com/PurpleI2P/i2pdbrowser.git |
Navigate to the README.md file for more information