{"id":635,"date":"2025-12-18T21:19:15","date_gmt":"2025-12-18T21:19:15","guid":{"rendered":"https:\/\/www.texturemind.com\/tmd\/docs\/tmd-administrator-guide\/setting-up-tmd-server\/macos\/installing-the-server\/"},"modified":"2025-12-19T17:07:05","modified_gmt":"2025-12-19T17:07:05","slug":"installing-the-server","status":"publish","type":"docs","link":"https:\/\/www.texturemind.com\/tmd\/docs\/tmd-administrator-guide\/setting-up-tmd-server\/macos\/installing-the-server\/","title":{"rendered":"Installing the server"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This section describes how to install the TextureMind Desktop (TMD) server on macOS systems. The installation is simple and performed via a provided install script.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Supported macOS Versions and Hardware<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Minimum macOS version:<\/strong> macOS 11 (Big Sur)<\/li>\n\n\n\n<li><strong>Audio capture support:<\/strong> macOS 13 (Ventura) or later<\/li>\n\n\n\n<li><strong>Architecture:<\/strong> Apple Silicon (arm64) only (Intel macOS is not supported)<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Important:<\/strong> macOS requires that a <strong>user session be logged in interactively<\/strong> (locally) before TMD can accept remote connections. Remote connections at the login screen are not possible on macOS.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Downloading the Server Package<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Visit the TMD download page: <code>https:\/\/www.texturemind.com\/tmd\/download\/<\/code><\/li>\n\n\n\n<li>Download the latest macOS server package: <code>TMDServer2025.1.0-MacOS-arm64.zip<\/code> (Replace <code>2025.1.0<\/code> with the current version if different.)<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Extracting and Installing<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Unzip the downloaded package:<\/strong> <code>unzip TMDServer2025.1.0-MacOS-arm64.zip<\/code>. You should see a content like this: <br><br><img decoding=\"async\" src=\"https:\/\/www.texturemind.com\/tmd\/wp-content\/uploads\/2025\/12\/image-9.png\" alt=\"\"><\/li>\n\n\n\n<li>Change into the extracted directory: <br><br><code>cd TMDServer2025.1.0-MacOS-arm64<\/code><br><\/li>\n\n\n\n<li>Run the installation script with elevated privileges: <br><br><code>sudo .\/install-tmdserver.sh<\/code><br><br>This installs TMD Server components in system locations and configures them to start automatically. You should see something like this:<br><br><img decoding=\"async\" src=\"https:\/\/www.texturemind.com\/tmd\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-18-at-14.16.26.png\" alt=\"\"><\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Verifying Server Startup<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">After installation, verify that the TMD agent process is running:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo launchctl list | grep com.tmdserver\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the agent is listed, the server is running correctly.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Configuring macOS System Permissions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">macOS security requires that applications interacting with the user interface (screen capture and input injection) be granted explicit permissions. You must grant the TMD agent the required permissions manually:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Open System Settings<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go to <strong>System Settings<\/strong> \u2192 <strong>Privacy &amp; Security<\/strong>.<br><img decoding=\"async\" src=\"https:\/\/www.texturemind.com\/tmd\/wp-content\/uploads\/2025\/12\/image-11.png\" alt=\"\"><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. Grant Accessibility Permission<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Select <strong>Accessibility<\/strong>.<br><img decoding=\"async\" src=\"https:\/\/www.texturemind.com\/tmd\/wp-content\/uploads\/2025\/12\/image-10.png\" alt=\"\"><\/li>\n\n\n\n<li>Click <strong>+<\/strong> and add: <code>\/Library\/TMDServer\/tmdagent<\/code><br><img decoding=\"async\" src=\"https:\/\/www.texturemind.com\/tmd\/wp-content\/uploads\/2025\/12\/image-12.png\" alt=\"\"><\/li>\n\n\n\n<li>Ensure the switch next to it is <strong>enabled<\/strong>.<br><img decoding=\"async\" src=\"https:\/\/www.texturemind.com\/tmd\/wp-content\/uploads\/2025\/12\/image-13.png\" alt=\"\"><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3. Grant Screen &amp; System Audio Recording Permission<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Select <strong>Screen &amp; System Audio Recording<\/strong>.<br><img decoding=\"async\" src=\"https:\/\/www.texturemind.com\/tmd\/wp-content\/uploads\/2025\/12\/image-14.png\" alt=\"\"><\/li>\n\n\n\n<li>Click <strong>+<\/strong> and add: <code>\/Library\/TMDServer\/tmdagent<\/code><br><img decoding=\"async\" src=\"https:\/\/www.texturemind.com\/tmd\/wp-content\/uploads\/2025\/12\/image-16.png\" alt=\"\"><\/li>\n\n\n\n<li>Ensure the switch is <strong>enabled<\/strong>.<br><img decoding=\"async\" src=\"https:\/\/www.texturemind.com\/tmd\/wp-content\/uploads\/2025\/12\/image-15.png\" alt=\"\"><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">These permissions allow TMD to capture the screen and interact with user input as required for remote desktop functionality.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Handling First-Run Prompts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When TMD first runs after installation, macOS may display permission prompts (e.g., \u201cTMD Agent would like to record the screen\u201d).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"475\" height=\"194\" src=\"https:\/\/www.texturemind.com\/tmd\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-18-at-14.17.02.png\" alt=\"\" class=\"wp-image-671\" srcset=\"https:\/\/www.texturemind.com\/tmd\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-18-at-14.17.02.png 475w, https:\/\/www.texturemind.com\/tmd\/wp-content\/uploads\/2025\/12\/Screenshot-2025-12-18-at-14.17.02-300x123.png 300w\" sizes=\"(max-width: 475px) 100vw, 475px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If prompted, <strong>open System Settings<\/strong> as directed and manually enable the required permissions.<\/li>\n\n\n\n<li>If a permission is denied, macOS adds a disabled entry, you must re-enable it manually.<\/li>\n\n\n\n<li>If the agent is not started automatically, it will be relaunched by the system after a logout\/login cycle.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">macOS Login Requirement<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">TextureMind Desktop on macOS cannot create a remote session at the system login screen. A user must be <strong>physically logged in locally<\/strong> for remote access to function.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To minimize the need for frequent physical logins:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Disable automatic logout due to inactivity in <strong>System Settings \u2192 Privacy &amp; Security<\/strong>.<\/li>\n\n\n\n<li>Configure power settings to <strong>prevent sleep<\/strong> or <strong>display sleep<\/strong> while the system is acting as a remote desktop host.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">These measures help keep the logged-in user session active and available for remote connections.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To successfully install and configure TMD Server on macOS:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Download and unzip the macOS server package.<\/li>\n\n\n\n<li>Run the included install script with <code>sudo<\/code>.<\/li>\n\n\n\n<li>Grant <strong>Accessibility<\/strong> and <strong>Screen &amp; System Audio Recording<\/strong> permissions to the TMD agent.<\/li>\n\n\n\n<li>Ensure a <strong>local user is logged in<\/strong> before attempting remote connections.<\/li>\n\n\n\n<li>Adjust sleep and session settings to prevent unintended logouts.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Once completed, the TMD server is ready to accept remote client connections.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This section describes how to install the TextureMind Desktop (TMD) server on macOS systems. The installation is simple and performed via a provided install script. Supported macOS Versions and Hardware Important: macOS requires that a user session be logged in interactively (locally) before TMD can accept remote connections. Remote connections at the login screen are &#8230; <a title=\"Installing the server\" class=\"read-more\" href=\"https:\/\/www.texturemind.com\/tmd\/docs\/tmd-administrator-guide\/setting-up-tmd-server\/macos\/installing-the-server\/\" aria-label=\"Read more about Installing the server\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":625,"menu_order":7,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"class_list":["post-635","docs","type-docs","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.texturemind.com\/tmd\/wp-json\/wp\/v2\/docs\/635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.texturemind.com\/tmd\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.texturemind.com\/tmd\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.texturemind.com\/tmd\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.texturemind.com\/tmd\/wp-json\/wp\/v2\/comments?post=635"}],"version-history":[{"count":11,"href":"https:\/\/www.texturemind.com\/tmd\/wp-json\/wp\/v2\/docs\/635\/revisions"}],"predecessor-version":[{"id":711,"href":"https:\/\/www.texturemind.com\/tmd\/wp-json\/wp\/v2\/docs\/635\/revisions\/711"}],"up":[{"embeddable":true,"href":"https:\/\/www.texturemind.com\/tmd\/wp-json\/wp\/v2\/docs\/625"}],"wp:attachment":[{"href":"https:\/\/www.texturemind.com\/tmd\/wp-json\/wp\/v2\/media?parent=635"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.texturemind.com\/tmd\/wp-json\/wp\/v2\/doc_tag?post=635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}