OSX: uruchom aplikację i uniemożliw użytkownikom zamknięcie

1

Próbuję uruchomić aplikację w OSX, ale potrzebuję, aby użytkownicy nie mogli jej zamknąć. aplikacja jest używana jako część systemu podobnego do kafejki internetowej.

Jak mogę to zrobić?

Edycja: to aplikacja Java, która odbiera niektóre dane z serwera i blokuje ekran. więc użytkownik nie będzie mógł korzystać z urządzenia, dopóki urządzenie nie zostanie odblokowane z serwera. w zasadzie jak system zamykania kafejki internetowej.

ze względów bezpieczeństwa i funkcjonalności użytkownik nie może zamknąć, w przeciwnym razie oprogramowanie jest bezużyteczne.

moscoquera
źródło
Witamy na stronie! Niestety nie sądzę, aby w twoim pytaniu było wystarczająco dużo informacji, aby na nie odpowiedzieć. Czy możesz dodać więcej szczegółów i wyjaśnić?
Jaydles
1
Myślę, że pytanie jest jasne, ponieważ chcesz uniemożliwić zamknięcie / zamknięcie aplikacji, jednak może to pomóc poznać konkretną aplikację.
Pan Królik
Musisz użyć oprogramowania, które ustawia „tryb kiosku”. Sprawdź to pytanie (które ma odpowiedź) apple.stackexchange.com/questions/97471/…
aaaidan
gdy jest to dozwolone, użytkownicy mogą mieć pełny dostęp do OSX. głównym celem mojego oprogramowania jest blokowanie i odblokowywanie ekranu (ta część już działa), a ze względów bezpieczeństwa użytkownicy nie mogą zabić mojego oprogramowania (moje pytanie).
moscoquera

Odpowiedzi:

3

Czy możesz natychmiast ponownie uruchomić program, jeśli użytkownik go opuści? Aby na przykład ponownie uruchomić TextEdit, jeśli jest on zamknięty, możesz zapisać tę listę jako /Library/LaunchAgents/relaunchtextedit.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>relaunchtextedit</string>
  <key>Program</key>
  <string>/Applications/TextEdit.app/Contents/MacOS/TextEdit</string>
  <key>KeepAlive</key>
  <true/> <!-- run the program again if it is terminated -->
  <key>RunAtLoad</key>
  <true/> <!-- run the program at login -->
</dict>
</plist>

Upewnij się, że plik jest własnością root. Następnie uruchom sudo launchctl load /Library/LaunchAgents/relaunchtextedit.plistlub wyloguj się i zaloguj ponownie, aby załadować plist. (Możesz również zapisać listę w bibliotece użytkownika, ale użytkownik może ją zwolnić bez konieczności wprowadzania hasła).

Lri
źródło
Dziękuję Ci bardzo. Wypróbowałem twoje rozwiązanie, ale kiedy kilkakrotnie zamykam aplikację, to po prostu nie uruchamia się ponownie. Kolejnym wymaganiem jest to, że ta aplikacja nie działa dla wszystkich użytkowników, ale myślę, że mogę to naprawić, tworząc inny mały program.
moscoquera
0

jedynym sposobem, w jaki mogłem to rozwiązać, było dodanie reguły do ​​pliku sudoers, umożliwiającej uruchomienie aplikacji bez hasła. Aby zmniejszyć ryzyko związane z bezpieczeństwem, wszystkie pliki używane przez aplikację są własnością i mogą być edytowane tylko przez użytkownika root.

moscoquera
źródło