Szolgáltatásként: Windows, Linux, macOS

A szolgáltatások telepítése a rendszer szolgáltatásaként, hogy bejelentkezés nélkül induljanak: Windows, Linux (systemd), macOS (LaunchDaemon, LaunchAgent).

9 perc olvasás Frissítve: 2026-10-18

A napi indító a szolgáltatásokat a saját ablakukban, a bejelentkezett felhasználó nevén indítja. Egy kiszolgáló szerepű gépen ennél jobb, ha a szolgáltatások a rendszer szolgáltatásaként futnak: a géppel együtt indulnak, bejelentkezés nélkül, hiba után a rendszer újraindítja őket, és a naplójukat a saját mappájukba írják. Ez a fejezet a telepítést írja le Windowson, Linuxon és macOS-en.

Mikor érdemes

  • Szolgáltatásként: ha a gép kiszolgáló – más gépek LiveCaptionje használja, és akkor is futnia kell, ha senki nincs bejelentkezve.
  • A napi indítóval: ha ugyanazon a gépen dolgozik, amelyen a szolgáltatások futnak, és elég, ha munka közben futnak (lásd Napi indítás és leállítás).

A két mód egy gépen egy szolgáltatásra nem keveredik: a napi indító egy telepített szolgáltatás mellé nem indít konzolos ikerpéldányt, és nem is állítja le, hanem kiírja a vezérlő parancsát.

A közös szabályok

  • A telepítő a szolgáltatás indítója, a -InstallService kapcsolóval. Ugyanaz a parancs frissít is: egy újabb változat telepítése után futtassa újra. Az eltávolítás a -UninstallService; az adatgyökeret (benne a naplót) csak a -RemoveData kapcsoló törli.
  • Szolgáltatásonként és gépenként egy példány telepíthető.
  • A sorrend itt is kötött: előbb a fiókszolgáltatás, utána a fordító és a beszédszolgáltatás, végül a feliratozó. A feliratozó a gépen bejegyzett fordítót és beszédszolgáltatást megvárja, mielőtt a videómemóriát felméri.
  • A fiókszolgáltatás címe kötelező (-AccountUrl), és a szolgáltatásnak peer token kell (magyarul társkulcs: a szolgáltatás titka, amellyel a jogosultsági képet lekéri). A telepítő a peer tokent a telepítést futtató felhasználó környezeti változójából veszi át, és a szolgáltatás védett titokmappájába teszi. Ezért a telepítés előtt futtassa az AccountServer\setup-account-peers eszközt a -Tokens kapcsolóval (lásd Kulcsok és jogosultságok a klienseknek).
  • Titok nem kerül a szolgáltatás bejegyzésébe: a bejegyzés csak a titokfájl útját tartalmazza, a fájlt csak a szolgáltatás fiókja és a rendszergazda olvashatja.
  • Kezdő rendszergazda szolgáltatásként nem jön létre – lásd lent.

A szolgáltatáskezelő a kilépés módja szerint dönt:

Kilépés Mit tesz a rendszer
rendes leállás (0-s kód) nem indítja újra
használati hiba, például rossz kapcsoló (1-es kód) nem indítja újra – a hibát javítani kell
futási hiba (4-es kód) vagy összeomlás 60 másodperc múlva újraindítja

Windows

Emelt jogú (rendszergazdai) PowerShell-ablakból. A telepítő nem publikál: ha a szolgáltatás csomagja elavult, előbb egy nem emelt ablakban frissítse (-Rebuild).

.\AccountServer\start-accountserver.ps1 -InstallService -CreateAdmin admin
.\TranslatorServer\start-translatorserver.ps1 -InstallService -AccountUrl http://127.0.0.1:8100
.\VoiceServer\start-voiceserver.ps1 -InstallService -AccountUrl http://127.0.0.1:8100 -AcceptXttsLicense
.\CaptionServer\start-captionserver.ps1 -InstallService -Gpu cuda13 -GpuReserve 6144 -AccountUrl http://127.0.0.1:8100
  • A szolgáltatások neve LiveCaptionPro.<Szolgáltatás> (például LiveCaptionPro.CaptionServer), mindegyik saját virtuális fiókkal fut. A program a %ProgramFiles%\LiveCaptionPro\<szolgáltatás>, az adatgyökér és a napló a %ProgramData%\LiveCaptionPro\<szolgáltatás> mappában él.
  • A modellek közös mappába kerülnek (%ProgramData%\LiveCaptionPro\models, hf, tts): a telepítő a gépen meglévő modelleket odamásolja (-ModelsFrom).
  • A szolgáltatások a Windows Szolgáltatások konzoljában (services.msc) is láthatók, indíthatók és leállíthatók.

Linux

A systemd kell hozzá, és root jog:

sudo pwsh AccountServer/start-accountserver.ps1 -InstallService
sudo pwsh TranslatorServer/start-translatorserver.ps1 -InstallService -AccountUrl http://127.0.0.1:8100
sudo pwsh VoiceServer/start-voiceserver.ps1 -InstallService -AccountUrl http://127.0.0.1:8100
sudo pwsh CaptionServer/start-captionserver.ps1 -InstallService -Gpu cuda13 -GpuReserve 6144 -AccountUrl http://127.0.0.1:8100
  • Az egységek neve live-caption-pro-<szolgáltatás>.service, a felhasználó live-caption-pro. A program a /opt/live-caption-pro/<szolgáltatás>, az adatgyökér a /var/lib/live-caption-pro/<szolgáltatás> alatt él; a titkokat a systemd adja át a /etc/live-caption-pro/credentials/ mappából, amit csak a root olvas.
  • Kezelés a szokásos paranccsal: sudo systemctl status|start|stop live-caption-pro-captionserver. A napló a journalban is látszik: journalctl -u live-caption-pro-captionserver.
  • A systemctl start megvárja, amíg a szolgáltatás valóban kiszolgál – a feliratozónál ez a videómemória felmérése miatt egy-két perc is lehet.

macOS: LaunchDaemon, a géppel induló változat

A LaunchDaemon a macOS rendszerszintű háttérfeladata: a géppel indul, bejelentkezés nélkül. Root jog kell hozzá, a sudo -H kapcsolóval (a -H nélkül a root a saját felhasználói mappájába írna):

sudo -H pwsh AccountServer/start-accountserver.ps1 -InstallService -DbEnv LCP_DB_<NÉV>
sudo -H pwsh TranslatorServer/start-translatorserver.ps1 -InstallService -AccountUrl http://127.0.0.1:8100
sudo -H pwsh VoiceServer/start-voiceserver.ps1 -InstallService -AccountUrl http://127.0.0.1:8100
sudo -H pwsh CaptionServer/start-captionserver.ps1 -InstallService -GpuReserve 6144 -AccountUrl http://127.0.0.1:8100
  • A feladatok címkéje pro.livecaption.<szolgáltatás>, a leírójuk a /Library/LaunchDaemons mappában áll. Mindegyik a saját rendszerfelhasználójával fut (például _lcp_captionserver), így egyik szolgáltatás sem olvashatja a másik titkát.
  • A program a /Library/LiveCaptionPro/<szolgáltatás>, az adatgyökér a /Library/Application Support/LiveCaptionPro/<szolgáltatás>, a napló a /Library/Logs/LiveCaptionPro/<szolgáltatás> mappában él.
  • Leállítás: sudo launchctl bootout system/pro.livecaption.captionserver; indítás: sudo launchctl bootstrap system /Library/LaunchDaemons/pro.livecaption.captionserver.plist; állapot: launchctl print system/pro.livecaption.captionserver. Egy kívülről leállított (például kill paranccsal megszakított) feladatot a rendszer újraindít – tartós leállításra a bootout való.
  • A telepítő a macOS alkalmazás-tűzfalában engedélyezi a programot, ha a tűzfal be van kapcsolva, és figyelmeztet, ha a gép alvásra van állítva.
  • A fiókszolgáltatás adatbázisa: a bejelentkezés nélküli induláshoz a gépen kívül (a hálózaton) futó, vagy rendszerszintű PostgreSQL kell; a Docker Desktopban vagy a felhasználói brew services alatt futó adatbázis csak bejelentkezés után él.

macOS: LaunchAgent, a felhasználói változat

A LaunchAgent a bejelentkezett felhasználó háttérfeladata: a bejelentkezéskor indul, kijelentkezéskor leáll. Root jog nélkül, a saját terminálablakából telepíthető, a -ServiceScope User kapcsolóval. A -Port kötelező, és nem lehet egyik szolgáltatás alapportja sem; az ajánlott az alapport + 10000:

pwsh AccountServer/start-accountserver.ps1 -InstallService -ServiceScope User -Port 18100 -DbEnv LCP_DB_<NÉV>
pwsh TranslatorServer/start-translatorserver.ps1 -InstallService -ServiceScope User -Port 18080 -AccountUrl http://127.0.0.1:18100
pwsh VoiceServer/start-voiceserver.ps1 -InstallService -ServiceScope User -Port 18090 -AccountUrl http://127.0.0.1:18100
pwsh CaptionServer/start-captionserver.ps1 -InstallService -ServiceScope User -Port 15111 -GpuReserve 6144 -AccountUrl http://127.0.0.1:18100
  • A leíró a ~/Library/LaunchAgents/pro.livecaption.<szolgáltatás>.plist, a program a ~/Library/LiveCaptionPro/<szolgáltatás>, az adatgyökér a ~/Library/Application Support/LiveCaptionPro-Service/<szolgáltatás>, a napló a ~/Library/Logs/LiveCaptionPro/<szolgáltatás> mappában él.
  • A webes felület portja a megadott port + 1 (a példában a fiókszolgáltatásé 18101).
  • A modelleket a felhasználó saját modellmappáiból olvassa, másolás nélkül.
  • Vezérlés sudo nélkül: launchctl bootout gui/$(id -u)/pro.livecaption.captionserver állítja le (a következő bejelentkezés újraindítja; tartósan a launchctl disable tiltja le), a launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/pro.livecaption.captionserver.plist indítja.
  • A tűzfalhoz root kell, ezért bekapcsolt tűzfal mellett a telepítő csak kiírja a kézi parancsot (sudo …/socketfilterfw), amit a hálózati eléréshez le kell futtatni. Eltávolítás után a bejegyzést ugyanígy, kézzel kell levenni.

Melyik macOS-változatot válassza

Szempont LaunchDaemon LaunchAgent
mikor indul a géppel, bejelentkezés nélkül a felhasználó bejelentkezésekor
root jog kell (sudo -H) nem szabad
ki futtatja szolgáltatásonként saját rendszerfiók a telepítő felhasználó
portok az alapportok kötelező, eltérő -Port
tűzfal a telepítő engedélyezi kézi parancs
kinek való kiszolgáló szerepű gép aki a saját munkamenetében, root nélkül akar felügyelt szolgáltatásokat

Ugyanaz a szolgáltatás nem lehet egyszerre démon és ügynök: a másik változat előtt az egyiket el kell távolítani. macOS 15 óta egy program a helyi hálózat más gépeit csak a Helyi hálózat engedéllyel éri el (Rendszerbeállítások → Adatvédelem és biztonság → Helyi hálózat); ha egy szolgáltatás nem éri el a hálózati adatbázist vagy a másik gépet, először ezt nézze meg.

Szolgáltatásonként eltér

Szolgáltatás Ami csak rá áll
fiókszolgáltatás az adatbázis bindingjét (a connection stringet tartó környezeti változó nevét) a -DbEnv adja, hiányában az alapértelmezett binding; a PostgreSQL-től nincs függőségi bejegyzés: ha az adatbázis 60 másodpercig nem érhető el, a szolgáltatás kilép, és a rendszer egy perc múlva újrapróbálja
fordító a telepítő a gép teljes Hugging Face-gyorsítótárát a közös mappába másolja – ez akár több száz GB is lehet; a másolás előtt kiírja a méretet, és ha kevés a hely, megáll. Szűkített forrás: -ModelsFrom <mappa>, kihagyás: -ModelsFrom none
beszédszolgáltatás gépszintű Python 3.10–3.12 kell (a felhasználói profilban telepítettet a szolgáltatás fiókja nem éri el); a modellt csak a -AcceptXttsLicense kapcsolóval tölti le
feliratozó a -GpuReserve kötelező (MiB-ben vagy %-kal): ennyi videómemóriát hagy szabadon a többi szolgáltatásnak

A kezdő rendszergazda szolgáltatásmódban

Szolgáltatásként a fiókszolgáltatás nem hoz létre kezdő rendszergazdát, mert a jelszót nem volna hova kiírnia. Ha az adatbázisban még nincs belépni képes rendszergazda:

  • Windowson a -CreateAdmin <név> kapcsoló a telepítés végén felveszi, és a jelszót a billentyűzetről kéri be;
  • Linuxon és macOS-en a telepítő a végén kiírja a három karbantartási parancsot (felhasználó felvétele, Administrator szerepkör, jelszó); ezeket a telepítés után a saját, nem sudo-s ablakából futtassa.

Ha a szolgáltatások már konzolról futottak ugyanazzal az adatbázissal, a meglévő rendszergazda marad, nincs teendő.

Hova tovább

Hiba történt az oldal futtatásakor. / An error occurred while running the page. Újratöltés / Reload 🗙