{"id":7280,"date":"2021-09-07T16:30:36","date_gmt":"2021-09-07T15:30:36","guid":{"rendered":"https:\/\/www.blopig.com\/blog\/?p=7280"},"modified":"2021-09-08T15:33:42","modified_gmt":"2021-09-08T14:33:42","slug":"using-singularity-on-windows-with-wsl2","status":"publish","type":"post","link":"https:\/\/www.blopig.com\/blog\/2021\/09\/using-singularity-on-windows-with-wsl2\/","title":{"rendered":"Using Singularity on Windows with WSL2"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Previously on this blog, my colleagues <a href=\"https:\/\/www.blopig.com\/blog\/2021\/05\/singularity-a-guide-for-the-bewildered-bioinformatician\/\">Carlos<\/a> and <a href=\"https:\/\/www.blopig.com\/blog\/2020\/03\/considering-containers-go-for-singularity\/\">Eoin<\/a> have extolled the many virtues of Singularity, which I will not repeat here. Instead, I&#8217;d like to talk about a rather interesting subject that was unexpectedly thrust upon me when my faithful Linux laptop started to show the early warning signs of critical existence failure: is there a good way to run a Singularity container on a pure Windows machine? It turns out that, with version 2 of the Windows Subsystem for Linux (WSL), there is.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Installing WSL2 and a Linux distribution<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">First, we&#8217;ll need to set up WSL2. If you&#8217;ve already done this, you can jump to the fun part. If you&#8217;re on the <a href=\"https:\/\/insider.windows.com\/getting-started\">Windows Insiders Program<\/a> and have installed the latest preview build, you can simply use the new wsl install command, which will install WSL2 and a default Ubuntu distribution. To do this, in a terminal with administrator privileges, simply run:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">wsl --install<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You can install different distributions using:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">wsl --install -d &lt;Distribution Name><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You can see the names of available distributions by running:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">wsl --list --online<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If you&#8217;re not using a preview build (perhaps because you like your system to <em>just work, thank you very much<\/em>) you&#8217;ll have to enable and install WSL2 the old fashioned way. First, we need to enable some system settings that are required for WSL2. We can do this the GUI way or the terminal way &#8211; here I&#8217;ll show you both.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To enable WSL2 features through the GUI, open &#8216;Turn windows features on or off&#8217; from the search bar. This will open a list of options for you to enable or disable. Ensure that the following options are checked:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Virtual Machine Platform<\/li><li>Windows Subsystem for Linux<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui1.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"625\" height=\"511\" loading=\"lazy\" src=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui1.png?resize=625%2C511&#038;ssl=1\" alt=\"\" class=\"wp-image-7333\" srcset=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui1.png?w=783&amp;ssl=1 783w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui1.png?resize=300%2C245&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui1.png?resize=768%2C628&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui1.png?resize=624%2C510&amp;ssl=1 624w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><figcaption>Linus forgive me.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui2.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"415\" height=\"368\" loading=\"lazy\" src=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui2.png?resize=415%2C368&#038;ssl=1\" alt=\"\" class=\"wp-image-7334\" srcset=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui2.png?w=415&amp;ssl=1 415w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui2.png?resize=300%2C266&amp;ssl=1 300w\" sizes=\"auto, (max-width: 415px) 100vw, 415px\" \/><\/a><figcaption>Enabling WSL2 features. You don&#8217;t need the Windows Hypervisor Platform, but it&#8217;s an option if you want to let third-party tools like VirtualBox use Windows&#8217; HyperV platform.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You can also enable both of these options by running the following PowerShell commands as Administrator. To enable Virtual Machine Platform:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">dism.exe \/online \/enable-feature \/featurename:VirtualMachinePlatform \/all \/norestart<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">To enable the Windows Subsystem for Linux:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">dism.exe \/online \/enable-feature \/featurename:Microsoft-Windows-Subsystem-Linux \/all \/norestart<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Now we have what we need to install WSL2. Before going any further, reboot your system.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The actual installation process is easy. Simply <a href=\"https:\/\/wslstorestorage.blob.core.windows.net\/wslblob\/wsl_update_x64.msi\">download<\/a> the latest Linux kernel update from Microsoft and follow the installer (you&#8217;ll be prompted to run with Administrator privileges). Once it&#8217;s finished, WSL2 is installed and ready to go!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s worth pointing out that WSL2 does not replace WSL; in fact, the two can run side by side, and you can choose which version is associated to each Linux distribution you install. To set WSL2 as the default version, you can run the following in PowerShell as Administrator:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">wsl --set-default-version 2<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, we need to install our first Linux distribution. Here we&#8217;ll use the default Ubuntu 20.04 from the Microsoft store, but there are plenty of others to experiment with. Simply open the Microsoft store, search for &#8216;Ubuntu&#8217;, and select the version you&#8217;d like to install.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui3.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"625\" height=\"511\" loading=\"lazy\" src=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui3.png?resize=625%2C511&#038;ssl=1\" alt=\"\" class=\"wp-image-7339\" srcset=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui3.png?w=782&amp;ssl=1 782w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui3.png?resize=300%2C245&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui3.png?resize=768%2C628&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui3.png?resize=624%2C510&amp;ssl=1 624w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><figcaption>Here we go again.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui4.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"625\" height=\"161\" loading=\"lazy\" src=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui4.png?resize=625%2C161&#038;ssl=1\" alt=\"\" class=\"wp-image-7340\" srcset=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui4.png?resize=1024%2C263&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui4.png?resize=300%2C77&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui4.png?resize=768%2C197&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui4.png?resize=1536%2C394&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui4.png?resize=624%2C160&amp;ssl=1 624w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui4.png?w=1602&amp;ssl=1 1602w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/gui4.png?w=1250&amp;ssl=1 1250w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><figcaption>Here&#8217;s one I prepared earlier.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">With Ubuntu installed, you&#8217;re ready to go. You can start Ubuntu from the start menu, or by running wsl from a terminal. To see the names of all your installed Linux distributions, you can run:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">wsl --list<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">To set a distribution as the default for WSL, run:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">wsl --setdefault &lt;DistributionName><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">And to run a specific distribution using WSL, you can use:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">wsl --distribution &lt;DistributionName><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The first time you run a distribution you&#8217;ll be prompted to create a new user and password. These are not in any way related to your Windows user(s), and will be needed to run &#8216;sudo&#8217; within the WSL.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/wsl1.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"625\" height=\"325\" loading=\"lazy\" src=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/wsl1.png?resize=625%2C325&#038;ssl=1\" alt=\"\" class=\"wp-image-7342\" srcset=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/wsl1.png?w=980&amp;ssl=1 980w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/wsl1.png?resize=300%2C156&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/wsl1.png?resize=768%2C400&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/wsl1.png?resize=624%2C325&amp;ssl=1 624w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><figcaption>This is where the fun begins!<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Installing Singularity in WSL2<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Now we&#8217;re finally ready to install Singularity on our Windows computer. Fortunately, the process is the same as on any Linux machine, and mostly consists of installing dependencies, as is tradition. We&#8217;ll do this using Ubuntu, but the process is similar for other distributions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First, system dependencies:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install -y \\\n    build-essential \\\n    libssl-dev \\\n    uuid-dev \\\n    libgpgme11-dev \\\n    squashfs-tools \\\n    libseccomp-dev \\\n    pkg-config<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Next, install Go. Change VERSION to whatever&#8217;s currently recommended by Singularity:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">export VERSION=1.13 OS=linux ARCH=amd64 &amp;&amp; \\\nwget https:\/\/dl.google.com\/go\/go$VERSION.$OS-$ARCH.tar.gz &amp;&amp; \\\nsudo tar -C \/usr\/local -xzvf go$VERSION.$OS-$ARCH.tar.gz &amp;&amp; \\\nrm go$VERSION.$OS-$ARCH.tar.gz <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Add Go to your PATH;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo 'export PATH=\/usr\/local\/go\/bin:$PATH' >> ~\/.bashrc &amp;&amp; \\\n  source ~\/.bashrc<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Download the Singularity source. Again, change VERSION to whatever you want to install:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">export VERSION=3.5.2 &amp;&amp; \\\n    wget https:\/\/github.com\/sylabs\/singularity\/releases\/download\/v${VERSION}\/singularity-${VERSION}.tar.gz &amp;&amp; \\\n    tar -xzf singularity-${VERSION}.tar.gz &amp;&amp; \\\n    cd singularity<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, as root, install Singularity:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">.\/mconfig &amp;&amp; \\\n    make -C builddir &amp;&amp; \\\n    sudo make -C builddir install<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You should now be able to run singularity in your WSL terminal!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/sing1.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"625\" height=\"438\" loading=\"lazy\" src=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/sing1.png?resize=625%2C438&#038;ssl=1\" alt=\"\" class=\"wp-image-7347\" srcset=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/sing1.png?w=810&amp;ssl=1 810w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/sing1.png?resize=300%2C210&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/sing1.png?resize=768%2C538&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/sing1.png?resize=624%2C437&amp;ssl=1 624w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><figcaption>Look mum, no VirtualBox!<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, no tutorial would be complete without some sort of hello world. Try building a container from a premade Docker image:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">singularity pull docker:\/\/godlovedc\/lolcow<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If everything is working properly, the cow should talk to you:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/sing1-1.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"495\" height=\"353\" loading=\"lazy\" src=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/sing1-1.png?resize=495%2C353&#038;ssl=1\" alt=\"\" class=\"wp-image-7349\" srcset=\"https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/sing1-1.png?w=495&amp;ssl=1 495w, https:\/\/i0.wp.com\/www.blopig.com\/blog\/wp-content\/uploads\/2021\/09\/sing1-1.png?resize=300%2C214&amp;ssl=1 300w\" sizes=\"auto, (max-width: 495px) 100vw, 495px\" \/><\/a><figcaption>The most erudite part of this post.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Now you&#8217;re ready to work with Singularity containers on Windows. One feature to be aware of is the ability to control the resources available to WSL. Virtualisation is hungry work, and WSL will happily gobble up whatever resources are available to it. If WSL is using more than you would like, you can create the <code>%UserProfile%\\.wslconfig<\/code> file in Windows and set your preferred options. For details about configuring WSL and to see available options, check the <a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/wsl\/wsl-config\" data-type=\"URL\" data-id=\"https:\/\/docs.microsoft.com\/en-us\/windows\/wsl\/wsl-config\">documentation<\/a>. For example, to restrict WSL to 8GB memory and 4 virtual processors:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[wsl2]\nmemory=8GB\nprocessors=4<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Now you&#8217;re ready to work with Singularity containers on Windows!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Previously on this blog, my colleagues Carlos and Eoin have extolled the many virtues of Singularity, which I will not repeat here. Instead, I&#8217;d like to talk about a rather interesting subject that was unexpectedly thrust upon me when my faithful Linux laptop started to show the early warning signs of critical existence failure: is [&hellip;]<\/p>\n","protected":false},"author":47,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","wikipediapreview_detectlinks":true,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"ngg_post_thumbnail":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[296,14],"tags":[386,423,424],"ppma_author":[498],"class_list":["post-7280","post","type-post","status-publish","format-standard","hentry","category-hints-and-tips","category-howto","tag-singularity","tag-windows","tag-wsl2"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"authors":[{"term_id":498,"user_id":47,"is_guest":0,"slug":"fergus","display_name":"Fergus Boyles","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/ba8c419ba77128aad589b66ba7ee13da74f4ce2d3108fd724ddcefa200b51c7b?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts\/7280","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/comments?post=7280"}],"version-history":[{"count":5,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts\/7280\/revisions"}],"predecessor-version":[{"id":7357,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts\/7280\/revisions\/7357"}],"wp:attachment":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/media?parent=7280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/categories?post=7280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/tags?post=7280"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=7280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}