Installing LM Studio 0.3.1 or 0.3.2 on Ubuntu 24.04 is not as simple as downloading the .AppImage file, chmod it, and executing it. At least not for me! My system is running Ubuntu Studio 24.04 LTS with minimal additional applications installed as of this article and corresponding video. Step through the following guide as I show you exactly what I did in order to get LM Studio 0.3.2 to launch successfully. As an added bonus, I even show you how to add a proper menu item as well. NOTE: Even though I’m using Ubuntu Studio (KDE Plasma), the .desktop file location is the same if you are running a vanilla Gnome based Ubuntu.
Download LM Studio
After downloading the LM Studio AppImage file from https://lmstudio.ai the first thing you must do is make the file executable:
1chmod +x ./LM_Studio-0.3.2.AppImage
At this point, depending on what version you have installed on your system, it may actually load.. However, here is what happend to me when I attempted to execute the LM Studio 0.3.2 AppImage on Ubuntu Studio 24.04 LTS:
1./LM_Studio-0.3.2.AppImage
Note that the error message states something about a “chrome-sandbox” … well, I don’t have Chrome installed. So let’s get that installed and see if it resolves the problem. Nope, that was not it since I still get the same error. When I attempt to run with sudo, I get the following:
1sudo ./LM_Studio-0.3.2.AppImage
2[sudo] password for bazbill:
3[0902/164840.305756:FATAL:electron_main_delegate.cc(294)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
4Trace/breakpoint trap
Oh, ok, there’s a hint - the AppImage didn’t specify the –no-sandbox switch. Well, rather than trying to run as root with that switch, let’s go back and attempt to just run as our local user with that switch:
1./LM_Studio-0.3.2.AppImage --no-sandbox
216:49:36.435 › App starting...
316:49:37.200 › Error while surveying hardware with backend 'llama.cpp-linux-x86_64-nvidia-cuda-avx2', version '1.1.7': LMSCore load lib failed - child process with PID 89308 exited with code 1
4[CachedFileDataProvider] Watching file at /home/bazbill/.cache/lm-studio/.internal/backend-preferences-v1.json
516:49:37.405 › Creating config map file at /home/bazbill/.cache/lm-studio/config-presets/config.map.json
6[CachedFileDataProvider] Watching file at /home/bazbill/.config/LM Studio/settings.json
7[HttpServerProvider][SettingsFile] Initializing FileData
8[HttpServerProvider][SettingsFile] File does not exist, writing default data
9[FileData] Initializing FileData
10[FileData] File does not exist, writing default data
11[SystemResourcesProvider] Hardware survey successfully achieved through bundled 'vulkan' liblmstudio.
12[CachedFileDataProvider] Watching file at /home/bazbill/.cache/lm-studio/.internal/model-data.json
13[LLMExternalAPIProvider] Creating HTTP server extender
14[LLMExternalAPIProvider] Registering IPC server
15[EmbeddingExternalAPIProvider] Creating HTTP server extender
16[EmbeddingExternalAPIProvider] Registering IPC server
17[PlatformExternalAPIProvider] Creating HTTP server extender
18[PlatformExternalAPIProvider] Registering IPC server
19[SystemExternalAPIProvider] Creating HTTP server extender
20[SystemExternalAPIProvider] Registering IPC server
21[DiagnosticsExternalAPIProvider] Creating HTTP server extender
22[DiagnosticsExternalAPIProvider] Registering IPC server
23[LMSInternal][Client=LM Studio] Client created.
24Client with id 'LM Studio' registered.
25[ConversationsProvider][Indexer] Creating index for path /home/bazbill/.cache/lm-studio/conversations
26[ConversationsProvider][ConfigFile] Initializing FileData
27[ConversationsProvider][ConfigFile] File does not exist, writing default data
2816:49:37.747 › [AppUpdater] Checking for updates... (current state: idle)
2916:49:37.748 › AppUpdater state changed to checking-for-updates-periodic
3016:49:37.748 › [AppUpdater] Fetching version info from https://versions-prod.lmstudio.ai/linux/x86/0.3.2
3116:49:37.905 › [AppUpdater] Version fetch url: https://versions-prod.lmstudio.ai/linux/x86/0.3.2
3216:49:37.906 › [AppUpdater] Version info response: {
33 os: 'linux',
34 arch: 'x86',
35 version: '0.3.0',
36 releaseNotes: 'No release notes found.'
37}
3816:49:37.907 › [AppUpdater] Current version: 0.3.2, latest version: 0.3.0
3916:49:37.907 › No update available: 0.3.0 <= 0.3.2
4016:49:37.907 › AppUpdater state changed to idle
41[NotepadMinusMinusExternalAPIProvider] Registering IPC server
42[DeepLinkHandlingExternalAPIProvider] Registering IPC server
43[AppSettingsInternalAPIProvider] Registering IPC server
44[ModelIndexInternalAPIProvider] Registering IPC server
45[ContextMenuInternalAPIProvider] Registering IPC server
46[ConversationsInternalAPIProvider] Registering IPC server
47[HttpServerInternalAPIProvider] Registering IPC server
48[SearchInternalAPIProvider] Registering IPC server
49[ModelLoadingInternalAPIProvider] Registering IPC server
50[LLMInstanceStateInternalAPIProvider] Registering IPC server
51[TransientStorageInternalAPIProvider] Registering IPC server
52[RuntimeIndexInternalAPIProvider] Registering IPC server
53[DownloadsAPIProvider] Registering IPC server
54[UserFilesInternalAPIProvider] Registering IPC server
55[SystemResourcesInternalAPIProvider] Registering IPC server
56[SoftwareUpdateInternalAPIProvider] Registering IPC server
57[BackendDownloadInternalAPIProvider] Registering IPC server
58[PredictionProcessInternalAPIProvider] Registering IPC server
59[UserModelDefaultConfigInternalAPIProvider] Registering IPC server
60[VirtualModelInternalAPIProvider] Registering IPC server
61[PathOpenerInternalAPIProvider] Registering IPC server
62[ModelDataInternalAPIProvider] Registering IPC server
63[FileWatchingProvider] Start syncing file watching provider... Changes may be missed during this process.
64[FileWatchingProvider][Watcher-0] Sync: Subscribing to /home/bazbill/.cache/lm-studio/.internal
65[FileWatchingProvider][Watcher-1] Sync: Subscribing to /home/bazbill/.config/LM Studio
66[FileWatchingProvider][Watcher-2] Sync: Subscribing to /home/bazbill/.cache/lm-studio/extensions/backends
67[FileWatchingProvider][Watcher-3] Sync: Subscribing to /home/bazbill/.cache/lm-studio/user-files
68[FileWatchingProvider][Watcher-4] Sync: Subscribing to /home/bazbill/.cache/lm-studio/conversations
69[FileWatchingProvider] Sync completed.
70D [LMSExternal] [Client=LM Studio] Client created.
71[CachedFileDataProvider] Watching file at /home/bazbill/.cache/lm-studio/conversations
72[CachedFileDataProvider] Error reading file at /home/bazbill/.cache/lm-studio/conversations [Error: EISDIR: illegal operation on a directory, read] {
73 errno: -21,
74 code: 'EISDIR',
75 syscall: 'read'
76}
77[CachedFileDataProvider] Watching file at /home/bazbill/.cache/lm-studio/conversations/1725310178474.conversation.json
78[CachedFileDataProvider] Watching file at /home/bazbill/.cache/lm-studio/.internal/user-concrete-model-default-config/.json
79[CachedFileDataProvider] File deleted, reading data. Path: /home/bazbill/.cache/lm-studio/conversations
80[CachedFileDataProvider] File deleted, reading data. Path: /home/bazbill/.cache/lm-studio/conversations/1725310178474.conversation.json
81[ConversationsProvider][Indexer] Creating index for path /home/bazbill/.cache/lm-studio/conversations/1725310178474.conversation.json
82[CachedFileDataProvider] Error reading file at /home/bazbill/.cache/lm-studio/conversations [Error: EISDIR: illegal operation on a directory, read] {
83 errno: -21,
84 code: 'EISDIR',
85 syscall: 'read'
86}
87[DelayedInitProvider] Running delayed init: ModelIndexProvider
88[ModelIndexProvider] Directory added: /home/bazbill/.cache/lm-studio/models
8916:49:38.916 › Checking if LM Studio dev tools exist on the system...
90[ModelIndexProvider][Op-1] Requested to index directory: /home/bazbill/.cache/lm-studio/models
91[ModelIndexProvider][Op-1] Starting indexing operation on directory: /home/bazbill/.cache/lm-studio/models
92[ModelIndexProvider] Directory added: /tmp/.mount_LM_StuFlxTCz/resources/app/.webpack/main/bundled-models
93[ModelIndexProvider][Op-1] Finished indexing operation on directory: /home/bazbill/.cache/lm-studio/models
94[ModelIndexProvider][Op-2] Requested to index directory: /tmp/.mount_LM_StuFlxTCz/resources/app/.webpack/main/bundled-models
95[ModelIndexProvider][Op-2] Starting indexing operation on directory: /tmp/.mount_LM_StuFlxTCz/resources/app/.webpack/main/bundled-models
96[FileWatchingProvider] Start syncing file watching provider... Changes may be missed during this process.
97[FileWatchingProvider][Watcher-0] Sync: Unsubscribing from /home/bazbill/.cache/lm-studio/.internal
9816:49:38.927 › LM Studio dev tools are not present, copying them over to .cache/lm-studio/bin...
99[FileWatchingProvider][Watcher-2] Sync: Unsubscribing from /home/bazbill/.cache/lm-studio/extensions/backends
100[FileWatchingProvider][Watcher-3] Sync: Unsubscribing from /home/bazbill/.cache/lm-studio/user-files
101[FileWatchingProvider][Watcher-4] Sync: Unsubscribing from /home/bazbill/.cache/lm-studio/conversations
102[FileWatchingProvider][Watcher-5] Sync: Subscribing to /home/bazbill/.cache/lm-studio
103[FileWatchingProvider][Watcher-6] Sync: Subscribing to /tmp/.mount_LM_StuFlxTCz/resources/app/.webpack/main/bundled-models
104[GGUFMetadataProvider] Reading GGUF metadata for /tmp/.mount_LM_StuFlxTCz/resources/app/.webpack/main/bundled-models/nomic-ai/nomic-embed-text-v1.5-GGUF/nomic-embed-text-v1.5.Q4_K_M.gguf took 41ms
105[ModelIndexProvider][Op-2] Finished indexing operation on directory: /tmp/.mount_LM_StuFlxTCz/resources/app/.webpack/main/bundled-models
106[FileWatchingProvider] Sync completed.
107[CachedFileDataProvider] Ignoring file change event due to recent write. Path: /home/bazbill/.cache/lm-studio/conversations/1725310178474.conversation.json
108[ConversationsProvider][Indexer] Creating index for path /home/bazbill/.cache/lm-studio/conversations/1725310178474.conversation.json
109[CachedFileDataProvider] Error reading file at /home/bazbill/.cache/lm-studio/conversations [Error: EISDIR: illegal operation on a directory, read] {
110 errno: -21,
111 code: 'EISDIR',
112 syscall: 'read'
113}
And the user interface launched!
Create .desktop file for LM Studio
That’s great! Now let’s create an icon in our menu that we can use to launch LM Studio.
- Place the AppImage in a shared location
1sudo mkdir -p /opt/LMStudio
2# The following command copies the file into the /opt/LMstudio folder and makes it executable
3# Additionally, we rename it to remove the version from the filename
4# For future upgrades, perform just this command. Having a consistent
5# binary name for execution means we won't have to keep updateing our .desktop file
6sudo install ./LM_Studio-0.3.2.AppImage /opt/LMStudio/LM_Studio.AppImage
- Download the official icon from https://lmstudio.ai/blog/img/icon512.png
1# Download the icon and place it in a shared location /usr/share/icons for example:
2sudo wget https://lmstudio.ai/blog/img/icon512.png -O /usr/share/icons/lmstudio.png
- create the .desktop file
1# cat <<EOF >~/.local/share/applications/lmstudio.desktop
2
3cat > ~/.local/share/applications/lmstudio.desktop << "EOF"
4[Desktop Entry]
5Name=LM Studio
6Comment=LM Studio Launcher
7Exec=/opt/LMStudio/LM_Studio.AppImage --no-sandbox
8Icon=/usr/share/icons/lmstudio.png
9Terminal=false
10Type=Application
11Categories=Development;
12EOF
Verify it works
Now, check your menu under Development and try launching LM Studio from your new icon!
That’s it folks!
Well, that’s it for this article. After getting ROCm installed on my system, I was a bit disappointed that the very first thing I tried to download and run didn’t quite work as expected under Linux. The videos I found online at the time of this post were from early 0.2.x beta releases and they simply ran the .AppImage file without any switches… Hopefully this article helps others who run into a similar issue as I did.
- RackNerd VPS, CPanel Shared Hosting: https://bit.ly/dqRackNerd
- Domain Registration, CPanel Shared Hosting, VPS, SSL via NameCheap: https://bit.ly/dqNameCheap
My Gear
Please Note: As an Amazon Associate, I earn from qualifying purchases.
- USB Capture Device: https://amzn.to/3NFvdpR
- Standing Desk: https://amzn.to/3hBXFJG
- 34in Monitor: https://amzn.to/3HBCwKj
- Thunderbolt 3 Dock: https://amzn.to/36W7YXb
Workstation Build:
- Full Tower Case: https://amzn.to/3vqJtKM
- MB: https://amzn.to/3WSpNuY
- CPU: https://amzn.to/3jCvij4
- Cooler: https://amzn.to/3i1gyJW
- Memory: https://amzn.to/3WQtBg5 (X2 for 128GB)
- GPU: https://amzn.to/3G2f5v8
- PSU: https://amzn.to/3PY54nf
- Cache (nvme): https://amzn.to/3vn1qd2
- OS (nvme): https://amzn.to/3vnDUwr
- Data (SSD): https://amzn.to/3C9Ae5e (X2)
- Keyboard: https://amzn.to/347VfPA
- Mouse: https://amzn.to/3C8KzgH
- Microphone: https://amzn.to/3JD4Myv