FAF fails to launch game (Ubuntu)

Error message:

2022-04-08 14:00:04.552  INFO 3204 --- [JavaFX Application Thread] c.f.client.fa.ForgedAllianceService      : Starting Forged Alliance with command: [~/faf/run, %USER_PROFILE%/faf/.faforever/bin/ForgedAlliance.exe, /init, init.lua, /nobugreport, /log, %USER_PROFILE%/.faforever/logs/game_0.log, /map, FAF_TUT_FourLeaf_BO] in directory: %USER_PROFILE%/faf/.faforever/bin
2022-04-08 14:00:04.554 ERROR 3204 --- [JavaFX Application Thread] com.faforever.client.game.GameService    : Launching tutorials failed

java.io.IOException: Cannot run program "~/faf/run" (in directory "%USER_PROFILE%/faf/.faforever/bin"): error=2, No such file or directory
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
	at com.faforever.client.fa.ForgedAllianceService.launch(ForgedAllianceService.java:144)
	at com.faforever.client.fa.ForgedAllianceService.startGameOffline(ForgedAllianceService.java:49)
	at com.faforever.client.game.GameService.lambda$launchTutorial$49(GameService.java:797)
	at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
	at com.faforever.client.task.CompletableTask.lambda$new$2(CompletableTask.java:19)
	at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
	at javafx.event.Event.fireEvent(Event.java:198)
	at javafx.concurrent.EventHelper.fireEvent(EventHelper.java:219)
	at javafx.concurrent.Task.fireEvent(Task.java:1359)
	at javafx.concurrent.Task.setState(Task.java:725)
	at javafx.concurrent.Task$TaskCallable.lambda$call$1(Task.java:1437)
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
	at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
	at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.io.IOException: error=2, No such file or directory
	at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
	at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:314)
	at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:244)
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
	... 27 common frames omitted

Ubuntu 21.04, followed the guide here: https://www.youtube.com/watch?v=Rv3ZXA4FNFk

What additional information would be useful to know?

SC:FA runs fine when I launch it from steam or with a script.

The problem is using the ~ for /home/fred

Use this to launch instead:

/home/fred/faf/run "%s"

Hope this helps and your username is fred 😛