
{"id":3396,"date":"2021-08-22T19:27:43","date_gmt":"2021-08-22T19:27:43","guid":{"rendered":"https:\/\/blog.gordonbuchan.com\/blog\/?p=3396"},"modified":"2023-11-02T11:42:04","modified_gmt":"2023-11-02T11:42:04","slug":"installing-x11vnc-to-replace-broken-screen-sharing-on-ubuntu-21-04","status":"publish","type":"post","link":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/2021\/08\/22\/installing-x11vnc-to-replace-broken-screen-sharing-on-ubuntu-21-04\/","title":{"rendered":"Installing x11vnc to replace broken screen sharing on Ubuntu 21.04"},"content":{"rendered":"\n<p>After upgrading from Ubuntu 20.10 to Ubuntu 21.04, screen sharing (VNC server) is no longer functioning correctly.<\/p>\n\n\n\n<p>Update 2023\/11\/02: on Ubuntu 22.04, in some situations, the x11vnc server will start on port 5901\/tcp, rather than the default 5900\/tcp, even if legacy VNC support is disabled.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">x11vnc is an effective replacement for Vino and gnome-remote-desktop<\/h1>\n\n\n\n<p>This post describes how to install x11vnc, and describes how to create a script that runs at Gnome desktop login that invokes x11vnc with the necessary command line options.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Vino was replaced by gnome-remote-desktop, but gnome-remote-desktop does not function correctly in Ubuntu 21.04<\/h1>\n\n\n\n<p>Vino, the VNC server previously used by Gnome, has been deprecated. Vino has been replaced by gnome-remote-desktop, but as currently integrated, gnome-remote-desktop does not function correctly in Ubuntu 21.04.<\/p>\n\n\n\n<p>When configured using the standard Gnome control panel settings (Settings, Sharing, Screen Sharing):<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"810\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-19.png\" alt=\"\" class=\"wp-image-3465\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-19.png 977w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-19-300x249.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-19-768x637.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>This is the error that appears when trying to connect, in both xorg and wayland:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"380\" height=\"148\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-1.png\" alt=\"\" class=\"wp-image-3404\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-1.png 380w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-1-300x117.png 300w\" sizes=\"auto, (max-width: 380px) 100vw, 380px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">This is a good reminder of why one should use an LTS release for production servers<\/h1>\n\n\n\n<p>A good suggested practice is to run LTS releases on production servers, but run recent releases on workstation laptops. This allows for issues to be identified and workarounds devised before the next LTS release, in case the problem persists in the next LTS release.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Why would one want to access the Graphical User Interface (GUI) desktop of a Linux server?<\/h1>\n\n\n\n<p>For some server tasks, it is helpful to be able to access the GUI desktop of the server via a remote viewer. For example, you may need to install a GUI operating system as a guest, and access its GUI desktop from the console of your server\u2019s GUI desktop.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"604\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-2-1024x604.png\" alt=\"\" class=\"wp-image-3406\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-2-1024x604.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-2-300x177.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-2-768x453.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-2-1536x905.png 1536w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-2.png 1620w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Disabling Wayland<\/h1>\n\n\n\n<p>Wayland is an alternative to the xorg windows system. One day, it will be terrific. For now, it does not work with x11vnc or other important applications like TeamViewer.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\ncd \/etc\/gdm3\nnano custom.conf\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n# Uncomment the line below to force the login screen to use Xorg\nWaylandEnable=false\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nreboot\n<\/pre><\/div>\n\n\n<h1 class=\"wp-block-heading\">A reminder about the firewall and opening port 5900\/tcp<\/h1>\n\n\n\n<p>From a shell window, enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\nufw allow 5900\/tcp\nufw allow 5901\/tcp\nexit\n<\/pre><\/div>\n\n\n<h1 class=\"wp-block-heading\">Disabling the existing (broken) screen sharing server<\/h1>\n\n\n\n<p>Settings, Sharing, Screen Sharing:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"812\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-5.png\" alt=\"\" class=\"wp-image-3412\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-5.png 975w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-5-300x250.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-5-768x640.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Installing the x11vnc package<\/h1>\n\n\n\n<p>From a shell window, enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\napt install x11vnc\nexit\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"786\" height=\"533\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-7.png\" alt=\"\" class=\"wp-image-3419\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-7.png 786w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-7-300x203.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-7-768x521.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"786\" height=\"533\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-8.png\" alt=\"\" class=\"wp-image-3422\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-8.png 786w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-8-300x203.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-8-768x521.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Creating a password for x11vnc<\/h2>\n\n\n\n<p>From a shell as the user that owns the Gnome desktop session, enter these commands. When prompted, supply a password:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nwhoami\nx11vnc -storepasswd\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"786\" height=\"533\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-9.png\" alt=\"\" class=\"wp-image-3425\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-9.png 786w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-9-300x203.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-9-768x521.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">A friendly warning about security<\/h1>\n\n\n\n<p>Different situations can accept different levels of risk. The VNC protocol as implemented, sends data as cleartext over a network connection. This may be acceptable over a local area network, particularly if you have VLAN segmentation and good wifi encryption enabled on your house Local Area Network (LAN).<\/p>\n\n\n\n<p>Do not even consider sending this kind of unencrypted traffic over the public Internet. Use a VPN, or redirect the connection via SSH tunnelling.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Starting the server manually<\/h1>\n\n\n\n<p>From a shell as the user that owns the Gnome desktop session, enter these commands. When prompted, supply a password:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nwhoami\nx11vnc -display :0 -forever -shared -rfbauth \/home\/desktop\/.vnc\/passwd\n<\/pre><\/div>\n\n\n<h1 class=\"wp-block-heading\">Testing the x11vnc screen sharing server<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Determining the IP address of your computer<\/h2>\n\n\n\n<p>From a shell window, enter the following commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo su\napt install net-tools\nifconfig\nexit\n<\/pre><\/div>\n\n\n<p>(Note: the command:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nip a\n<\/pre><\/div>\n\n\n<p>provides an equivalent result. But ifconfig is easier to read.)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Connecting to the server from a client<\/h2>\n\n\n\n<p>From another computer on the same local area network, connect to the IP address of the machine on which x11vnc is running. Attempt to connect using a VNC client such as RealVNC, tightvnc, or remmina:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"604\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-12-1024x604.png\" alt=\"\" class=\"wp-image-3438\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-12-1024x604.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-12-300x177.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-12-768x453.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-12-1536x905.png 1536w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-12.png 1620w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Creating a script that contains the x11vnc command line options<\/h1>\n\n\n\n<p>From a shell as the user that owns the Gnome desktop session, enter these commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncd ~\nwhoami\nnano x11vncstartup.sh\n<\/pre><\/div>\n\n\n<p>Enter this text. Press Control-X to save and exit:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n#!\/usr\/bin\/bash\nx11vnc -display :0 -forever -shared -rfbauth \/home\/desktop\/.vnc\/passwd\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"786\" height=\"533\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-10.png\" alt=\"\" class=\"wp-image-3431\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-10.png 786w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-10-300x203.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-10-768x521.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>Enter this command:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nchmod 755 x11vncstartup.sh\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">Testing the script manually<\/h2>\n\n\n\n<p>From a shell as the user that owns the Gnome desktop session, enter these commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncd ~\n.\/x11vncstartup.sh\n<\/pre><\/div>\n\n\n<p>Test as described earlier in the section &#8220;Testing the x11vnc screen sharing server.&#8221;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Adding the script to Startup Applications<\/h2>\n\n\n\n<p>Go to Show Applications. search for \u201cstartup applications,\u201d click on its icon:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"523\" height=\"407\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-14.png\" alt=\"\" class=\"wp-image-3445\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-14.png 523w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-14-300x233.png 300w\" sizes=\"auto, (max-width: 523px) 100vw, 523px\" \/><\/figure>\n\n\n\n<p>Click Add:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"672\" height=\"604\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-21.png\" alt=\"\" class=\"wp-image-3471\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-21.png 672w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-21-300x270.png 300w\" sizes=\"auto, (max-width: 672px) 100vw, 672px\" \/><\/figure>\n\n\n\n<p>Name: x11vncstartup.sh<\/p>\n\n\n\n<p>Click the &#8220;Browse\u2026&#8221; button. Select the file x11vncstartup.sh, Click \u201cOpen\u201d:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-16-1024x640.png\" alt=\"\" class=\"wp-image-3449\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-16-1024x640.png 1024w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-16-300x188.png 300w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-16-768x480.png 768w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-16.png 1479w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>Comment: x11vncstartup.sh<\/p>\n\n\n\n<p>Click on &#8220;Add&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"463\" height=\"323\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-17.png\" alt=\"\" class=\"wp-image-3450\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-17.png 463w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-17-300x209.png 300w\" sizes=\"auto, (max-width: 463px) 100vw, 463px\" \/><\/figure>\n\n\n\n<p>Click on &#8220;Close&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"672\" height=\"604\" src=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-18.png\" alt=\"\" class=\"wp-image-3451\" srcset=\"https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-18.png 672w, https:\/\/blog.gordonbuchan.com\/blog\/wp-content\/uploads\/2021\/08\/image-18-300x270.png 300w\" sizes=\"auto, (max-width: 672px) 100vw, 672px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Testing that x11vnc was started as a script in &#8220;Startup Applications&#8221;<\/h2>\n\n\n\n<p>Reboot the computer. Log into the computer\u2019s desktop.<\/p>\n\n\n\n<p>Test as described earlier in the section &#8220;Testing the x11vnc screen sharing server.&#8221;<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>After upgrading from Ubuntu 20.10 to Ubuntu 21.04, screen sharing (VNC server) is no longer functioning correctly. Update 2023\/11\/02: on Ubuntu 22.04, in some situations, the x11vnc server will start on port 5901\/tcp, rather than the default 5900\/tcp, even if legacy VNC support is disabled. x11vnc is an effective replacement for Vino and gnome-remote-desktop This &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/2021\/08\/22\/installing-x11vnc-to-replace-broken-screen-sharing-on-ubuntu-21-04\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Installing x11vnc to replace broken screen sharing on Ubuntu 21.04&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3396","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/3396","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=3396"}],"version-history":[{"count":70,"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/3396\/revisions"}],"predecessor-version":[{"id":4956,"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/3396\/revisions\/4956"}],"wp:attachment":[{"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=3396"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=3396"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.gordonbuchan.com\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=3396"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}