ThePorgs / Exegol

Fully featured and community-driven hacking environment
https://exegol.readthedocs.io/
GNU General Public License v3.0
1.64k stars 175 forks source link

Remote Desktop feature dont work #224

Open st3rven opened 2 weeks ago

st3rven commented 2 weeks ago

Describe the bug

Hi! I’m just starting to use Exegol and I’m having trouble using the remote desktop option. The port appears to be listening on my host machine, but I can’t access the service.

Environment

Evidence:

Steps To Reproduce

No response

Exegol Wrapper Version

[*] Exegol is currently in version v4.3.4
[*] Exegol Discord serv.: https://discord.gg/cXThyp7D6P
[*] Exegol documentation: https://exegol.rtfd.io/
[D] Pip installation: On βœ”
[D] Git source installation: Off πŸͺ“
[D] Host OS: Mac (Docker desktop)
[D] Arch: arm64
[D] Docker desktop: On βœ”
[D] Shell type: Mac
[D] Last wrapper update check: 20/06/2024

[*] Exegol is currently in version v4.3.4
[*] Exegol Discord serv.: https://discord.gg/cXThyp7D6P
[*] Exegol documentation: https://exegol.rtfd.io/

Host OS

MacOS

Configuration of the concerned container

No response

Execution logs in debug mode

❯ exegol start --desktop --disable-X11 exegol nightly -vvv
[*] Exegol is currently in version v4.3.4
[*] Exegol Discord serv.: https://discord.gg/cXThyp7D6P
[*] Exegol documentation: https://exegol.rtfd.io/
[D] Pip installation: On βœ”
[D] Git source installation: Off πŸͺ“
[D] Host OS: Mac (Docker desktop)
[D] Arch: arm64
[D] Docker desktop: On βœ”
[D] Shell type: Mac
[D] Last wrapper update check: 20/06/2024

[*] Starting exegol
[*] Arguments supplied with the command, skipping interactive mode
[D] Attribute not found in parameters: multicontainertag
[V] Configuring new exegol container
[D] Attribute not found in parameters: multiimagetag
[D] └── nightly β†’ (remote) sha256:66673ef400645c6f32bc394b62afe77a6038645a826a7d373db6acfe54dd4edf
[D] Auto-load remote version for the specific image 'nightly'
[!] Timezone sharing on Mac is not supported (for stability reasons). Skipping.
[!] Host network mode for Docker desktop (Windows & macOS) is not available.
[V] Official doc: https://docs.docker.com/network/drivers/host/#docker-desktop
[*] To share network ports between the host and exegol, use the --port parameter.
[V] Config: Enabling my-resources volume
[V] Updating the permissions of /Users/Elliot/.exegol/my-resources (and sub-folders) to allow file sharing between the container and the host user
[D] Adding setgid permission recursively on directories from /Users/Elliot/.exegol/my-resources
[D] Loading git at /Users/Elliot/.exegol/exegol-resources
[D] Repo path: /Users/Elliot/.exegol/exegol-resources/.git
[D] Git repository successfully loaded
[V] Config: Enabling exegol resources volume
[V] Config: Enabling exegol desktop
[D] Desktop port will be set automatically
[D] Attempting to bind to interface 127.0.0.1
[D] Found available port 55275
[D] Adding port 127.0.0.1:55275 -> 6080/tcp

⭐ Container summary
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚             Name β”‚ exegol                                                                                                                    β”‚
β”‚            Image β”‚ nightly - v.53b086e1 (Up to date) (amd64)                                                                                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚      Credentials β”‚ root : p58ImmbjdKcCfRbIH7Hzk6DTL7OazI                                                                                     β”‚
β”‚   Remote Desktop β”‚ http://localhost:55275                                                                                                    β”‚
β”‚      Console GUI β”‚ Off πŸͺ“                                                                                                                    β”‚
β”‚          Network β”‚ bridge                                                                                                                    β”‚
β”‚         Timezone β”‚ Off πŸͺ“                                                                                                                    β”‚
β”‚ Exegol resources β”‚ On βœ” (/opt/resources)                                                                                                     β”‚
β”‚     My resources β”‚ On βœ” (/opt/my-resources)                                                                                                  β”‚
β”‚    Shell logging β”‚ Off πŸͺ“                                                                                                                    β”‚
β”‚       Privileged β”‚ Off βœ”                                                                                                                     β”‚
β”‚        Workspace β”‚ Dedicated (/workspace)                                                                                                    β”‚
β”‚             Envs β”‚ EXEGOL_DESKTOP_PROTO=http                                                                                                 β”‚
β”‚                  β”‚ EXEGOL_USERNAME=root                                                                                                      β”‚
β”‚                  β”‚ EXEGOL_DESKTOP_PORT=6080                                                                                                  β”‚
β”‚            Ports β”‚ 127.0.0.1:55275 ➑ 6080/tcp                                                                                                β”‚
β”‚          Volumes β”‚ (RO) /Users/Elliot/.local/pipx/venvs/exegol/lib/python3.12/site-packages/exegol/utils/imgsync/spawn.sh ➑ /.exegol/spawn.sh β”‚
β”‚                  β”‚ (RW) /Users/Elliot/.exegol/my-resources ➑ /opt/my-resources                                                                β”‚
β”‚                  β”‚ (RW) /Users/Elliot/.exegol/exegol-resources ➑ /opt/resources                                                               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

[*] Creating new exegol container
[V] Updating the permissions of /Users/Elliot/.exegol/workspaces/exegol (and sub-folders) to allow file sharing between the container and the host user
[D] Adding setgid permission recursively on directories from /Users/Elliot/.exegol/workspaces/exegol
[D] exegol - nightly
Privileged: False
Capabilities: []
Sysctls: {}
X: False
TTY: True
Network host: bridge
Ports: {'6080/tcp': ('127.0.0.1', 55275)}
Share timezone: False
Common resources: True
Envs (3): EXEGOL_DESKTOP_PROTO
EXEGOL_USERNAME
EXEGOL_DESKTOP_PORT
Labels (1): org.exegol.feature.desktop
Shares (4): {'Target': '/.exegol/spawn.sh', 'Source': '/Users/Elliot/.local/pipx/venvs/exegol/lib/python3.12/site-packages/exegol/utils/imgsync/spawn.sh',
'Type': 'bind', 'ReadOnly': True}
{'Target': '/opt/my-resources', 'Source': '/Users/Elliot/.exegol/my-resources', 'Type': 'bind', 'ReadOnly': False}
{'Target': '/opt/resources', 'Source': '/Users/Elliot/.exegol/exegol-resources', 'Type': 'bind', 'ReadOnly': False}
{'Target': '/workspace', 'Source': '/Users/Elliot/.exegol/workspaces/exegol', 'Type': 'bind', 'ReadOnly': False}
Devices (0):
VPN: N/A
[D] Entrypoint: ['/bin/bash', '/.exegol/entrypoint.sh']
[D] Cmd: ['load_setups', 'desktop', 'endless']
[+] Exegol container successfully created !
[D] Loading container: exegol-exegol
[D] └── Parsing envs : EXEGOL_DESKTOP_PROTO=http
[D] └── Parsing envs : EXEGOL_USERNAME=root
[D] └── Parsing envs : EXEGOL_DESKTOP_PORT=6080
[D] └── Parsing envs : PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[D] └── Parsing label : org.exegol.app
[D] └── Parsing label : org.exegol.build_date
[D] └── Parsing label : org.exegol.feature.desktop
[D] Desktop proto set: http
[D] Desktop host set: 127.0.0.1
[D] Desktop port set: 55275
[D] └── Parsing label : org.exegol.metadata.creation_date
[D] └── Parsing label : org.exegol.metadata.passwd
[D] └── Parsing label : org.exegol.src_repository
[D] └── Parsing label : org.exegol.tag
[D] └── Parsing label : org.exegol.version
[D] └── Capabilities : []
[D] └── Load devices : []
[D] └── Parsing mount : {'Type': 'bind', 'Source': '/Users/Elliot/.local/pipx/venvs/exegol/lib/python3.12/site-packages/exegol/utils/imgsync/spawn.sh',
'Destination': '/.exegol/spawn.sh', 'Mode': '', 'RW': False, 'Propagation': 'rprivate'}
[D] └── Parsing mount : {'Type': 'bind', 'Source': '/Users/Elliot/.exegol/my-resources', 'Destination': '/opt/my-resources', 'Mode': '', 'RW': True,
'Propagation': 'rprivate'}
[D] └── Parsing mount : {'Type': 'bind', 'Source': '/Users/Elliot/.exegol/exegol-resources', 'Destination': '/opt/resources', 'Mode': '', 'RW': True,
'Propagation': 'rprivate'}
[D] └── Parsing mount : {'Type': 'bind', 'Source': '/Users/Elliot/.exegol/workspaces/exegol', 'Destination': '/workspace', 'Mode': '', 'RW': True,
'Propagation': 'rprivate'}
[D] └── Loading workspace volume source : /Users/Elliot/.exegol/workspaces/exegol
[D] └── Private workspace detected
[D] Entrypoint script path: /Users/Elliot/.local/pipx/venvs/exegol/lib/python3.12/site-packages/exegol/utils/imgsync/entrypoint.sh
[V] Starting exegol
[V] Installing my-resources custom setup ...
[V] Compressing my-resources logs
[V] My-resources loaded
[V] Starting Exegol desktop with http
[D] Updating the root password inside the container
[*] Location of the exegol workspace on the host : /Users/Elliot/.exegol/workspaces/exegol
[+] Opening shell in Exegol 'exegol'
[D] Opening shell with: docker exec -e EXEGOL_START_SHELL=zsh -ti 8005a348f51db66491390551a0888eeb01e492853cc4cd052e16cbadae1ac88a /.exegol/spawn.sh

Exception

No response

Anything else?

No response

Dramelac commented 6 days ago

Hello

Can you check if the virtual desktop process are running ? Run ps -faux inside your container to check. If there is none, try to run desktop-start and screenshot the output to see if there is any error

Thank you

st3rven commented 5 days ago

Hi @Dramelac,

the process is not running, and when I tried to execute the mentioned command I receive the following error message: assertion failed [rem_idx != -1]: Unable to find existing allocation for shared memory segment to unmap (VMAllocationTracker.cpp:745 remove_shared_mem)

image