Changing the desktop when VNC’ing into Solaris 10

By default if you VNC into Solaris 10 you get a basic desktop using TWM:

Screenshot

To Change to CDE, comment out the last line (twm&) in ~/.vnc/xstartup and add:

#twm &
/usr/dt/bin/dtsession &

to start the Java Desktop, instead of ‘dtsession’, add ‘gnome-session’:

#twm &
#/usr/dt/bin/dtsession &
/usr/dt/bin/gnome-session &
Screenshot

If you get this error:

vncserver: couldn't find "xauth" on your PATH.

… edit your ~/.vnc/xstartup and update your PATH to include the following:

PATH=${PATH}:/usr/X11/bin:/usr/openwin/bin

This is covered in more detail in posts here and here.

Running Ansible playbooks against RHEL 8 servers

I’m experimenting with some Ansible playbooks against local VMs, in particular, for some reason a RHEL 8 VM, and getting some unitelligible errors:

File \"<frozen importlib._bootstrap_external>\", line 1112, in _legacy_get_spec\r\n  File \"<frozen importlib._bootstrap>\", line 441, in spec_from_loader\r\n  File \"<frozen importlib._bootstrap_external>\", line 544, in spec_from_file_location\r\n  File \"/tmp/ansible_ansible.legacy.setup_payload_z3bjr2pn/ansible_ansible.legacy.setup_payload.zip/ansible/module_utils/basic.py\", line 5\r\nSyntaxError: future feature annotations is not defined\r\n", "msg": "MODULE FAILURE: No start of json char found\nSee stdout/stderr for the exact error", "rc": 1}}, "msg": "The following modules failed to execute: ansible.legacy.setup\n"}

Googling for various parts of this error, I think the key error is:

SyntaxError: future feature annotations is not defined

… as this shows up in a few posts, and in particular this excellent post by Jeff Geerling that explains exactly what is going on with Python version incompatibilities between later versions of Ansible and RHEL 8 (which uses an older version of Python, 3.7)

Ansible version on my Mac:

❯ ansible-playbook --version
ansible-playbook [core 2.18.6]

Downgrading to Ansible 9x with brew:

❯ brew install ansible@9
==> Fetching downloads for: ansible@9
Warning: ansible@9 has been deprecated because it is not maintained upstream! It will be disabled on 2025-11-30

For personal projects this is not much of a big deal, and I don’t think I’m particularly taking advantage of any newer Ansible features, but bit of a version dependency nightmare.

Now I get:

❯ ansible --version
ansible [core 2.16.14]

… and can successfully apply playbooks against my RHEL 8 VM.

ssh to solaris 10 error: “no matching key exchange method found”

I first ran into this error after installing Solaris 10 on a Sun Ultra 60 that I had a while back, but I’ve recently ran into it again installing Solaris 10 on Proxmox:

Unable to negotiate with 192.168.1.95 port 22: no matching key exchange method found. Their offer: gss-group1-sha1-toWM5Slw5Ew8Mqkay+al2g==,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

The solution to configure my Mac to be able to use older key algorithms was a combination from here and answers on this post.

I edited my ~/.ssh/config and added a Host entry for the ip of my Solaris 10 instance, adding:

Host 192.168.1.95
HostKeyAlgorithms=+ssh-rsa
KexAlgorithms +diffie-hellman-group1-sha1

And now I can just ssh in as normal (no need for any additional params as shown in the first post, as the required options are configured in my .ssh/config.