Popular Posts

Wednesday, November 4, 2026

Ubuntu Server 26.04 LTS - Setting up GUI and fixing network issues

Background

You have spin up an Ubuntu Server instance running version 26.04 TLS and you want to install GUI on your server.


Steps to install GUI and its related components

  1. Run sudo apt update to update package repositories

  2. Run sudo apt install ubuntu-desktop to install GNOME desktop environment. This includes GUI + gnome-remote-desktop + gdm3
    This version of Ubuntu Server includes GNOME 50, which no longer supports X11 sessions. So, it is not possible to couple GNOME desktop with other RDP server such as XRDP. Ensure only one of them is running as solutions operating at the same will result in error messages such as gnome-session-init-worker crashed with SIGABRT in _libc_start_call_main()



  3. Run sudo apt install gdm3 to install display manager if not installed already by ubuntu-desktop
    You may also install other display managers such as lightdm or kdm (now called SDDM) in place of gdm3. As with RDP service, ensure only one display managers is running if multiple display managers are installed. This can be verified by running cat /etc/X11/default-display-manager . Expected output is /usr/sbin/gdm3 for gdm3

     

  4. Run sudo systemctl set-default graphical.target to boot into GUI mode by default

  5. Restart the server sudo reboot

  6. Once boot up, run sudo grdctl --system status to confirm if GNOME RDP is listening on port 3389

  7. Configure RDP by either:
    • Console
      1. Login to the GUI using console (ex: using VMRC on VMware)
      2. Open Settings → System → Remote Desktop
      3. Select Remote Login
      4. Click Unlock and authenticate
      5. Enable Remote Login
      6. Configure the RDP login credentials
    • SSH, run the following commands
      1. sudo grdctl --system rdp enable
      2. sudo grdctl --system rdp set-auth-methods credentials
        The credentials you configure here will be used to authenticate with the RDP server before entering credentials to a local account
      3. sudo grdctl --system rdp set-credentials


Possible network issues

Installing GNOME desktop on top of Ubuntu Server introduces a complication in terms of network configuration of the server. For example, you might notice that your server is no longer able to access the internet after GNOME desktop has been installed. Also, the server will take longer to boot because it waits on the network resolution task and eventually fails.

This is because GNOME desktop and Ubuntu Server use 2 different mechanisms to manage the network configuration, thus causing a conflict when both are running at the same time. Default network manager on Ubuntu Server is systemd-networkd while NetworkManager is default on desktop (GUI). To verfiy this, you may run
sudo systemctl is-enabled NetworkManager.service systemd-networkd.service

Since this server will be primarily managed and used via the desktop, disable systemd-networkd by running the command sudo systemctl disable systemd-networkd.service and update the network configuration via GUI. Perform a quick reboot to ensure changes are intact upon boot.

Monday, October 26, 2026

Updating Veeam I/O filters on VMware hosts

Background

You have installed Veeam I/O filters on your VMware ESXi hosts but they are out of date, i.e. they are not running the same version as your Veeam Backup and Replication (VBR) Server. You have been tasked to update your ESXi servers.


Issue

When you run the update of ESXi, you would get the following message:

''vSphere ESX Agent Manager' service reported issue: Agency ########-############ is unable to determine required solutions from its configured offline depots", which suggests that you need to update the I/O filter from Veeam.

When you try to update the I/O filter on VBR, you would get the following message:

"Host <your ESXi hostname>: The agent's workflow is blocked until it's required solutions are re-mediated externally in vSphere Lifecycle Manager"


Solution

Follow these steps to destroy the stale agency via the Managed Object Browser (MOB).

  1. Identify the Agency ID from the error message or the eam.log file (format: Agency:########-############).
  2. Navigate to https://<vCenter-FQDN>/eam/mob/?moid=<Agency-ID>.
  3. Log in with administrator credentials.
  4. Select DestroyAgency.
  5. Click Invoke Method.
  6. Retry the cluster remediation task in the vSphere Client.
Proceed to update the hosts via Lifecycle Manager and then update the I/O filters via Veeam



Saturday, October 24, 2026

How to setup Room Finder on Exchange

Room Finder is a feature in Microsoft Exchange Online and Outlook that helps users find and book available meeting rooms. It displays room availability, capacity, location, and other facilities, making it easier to select a suitable meeting space when scheduling meetings. Behind the scenes, Room Finder represents collection of rooms grouped together by Exchange Distribution Groups. This is however more suitable and useful for rooms spread across several cities.

Imagine you need to add the following rooms into Room Finder:

  • City 1
    • Building 1
      • Room 1
      • Room 2
    • Building 2
      • Room 3
      • Room 4
  • City 2
    • Building 1
      • Floor 1
        • Room 5
        • Room 6
      • Floor 2
        • Room 7
  • City 3
    • Building 1
      • Room 8


Steps to configure Room Finder in your environment

  1. List down all existing Room Resources in your environment and group them by City, Building and Floor as above
  2. Go to Exchange Admin Console (EAC) --> Room Resource and update the City field of all the rooms your want to add into Room Finder. You may use Set-Place command for this purpose.
  3. Additionally, you may also set the floor parameter for your rooms using Set-Place command. Ex: Set-Place room1@yourdomain.com -Floor
  4. Run Connect-ExchangeOnline (Run this beforehand if you intend to use Set-Place for previous steps)
  5. To group rooms from Building 1 located in City 1,  run New-DistributionGroup -Name "City 1 Rooms - Building 1" -RoomList
  6. Take note of the UPN (User Principal Name) of the distribution group created above
  7. To add a room to the above, run Add-DistributionGroupMember -Identity city1rooms-building1@yourdomain.com -Member room1@yourdomain.com
  8. Continue to add more rooms as required ex: Add-DistributionGroupMember -Identity city1rooms-building1@yourdomain.com -Member room2@yourdomain.com
  9. Create another group and add rooms into it ex: New-DistributionGroup -Name "City 1 Rooms - Building 2" -RoomList
  10. Run Get-DistributionGroup -RecipientTypeDetails RoomList to verify the creation of those groups
  11. It may take up to 2 days for the Room List to update on Outlook client 
  12. To summarise
    1. You set the City field using EAC or PowerShell, this is compulsory.
    2. Group them into Distribution Groups by City and Building using PowerShell
    3. You may add other details such as the floor and capacity by updating the individual room resource. This is optional.
    4. Users will be able to filter rooms by city and building and additionally by floor and capacity if configured.