У меня два компьютера, ПК_1 под управлением Debian5, ПК_2 под управлением Windows, мне нужно, чтобы ПК_1 автоматически запускал файл Jar при запуске.

Когда я помещаю файл сценария для выполнения файла Jar в /etc/init.d, запуск зависает на экране терминала (перед обычным экраном графического интерфейса Debian), поскольку файл Jar находится в бесконечном цикле (постоянно выполняются проверки).

Когда я помещаю файл скрипта в /etc/rc.local, каким-то образом мне удается заставить его исполниться после отображения экрана графического интерфейса, но он запускается как фоновый процесс, который не отображается в JFrame файла Jar.

Могу ли я узнать, есть ли способ запустить файл Jar как Root и на переднем плане, чтобы отображался графический интерфейс?

Причина, по которой мне потребовалась программа для запуска с правами root, заключается в том, что мне нужен доступ к последовательному порту. Так что ... да, мне нужно разрешение Root.

2 ответа2

1

Пожалуйста, не запускайте вещи как root, особенно программы на Java. Если вам действительно нужны root-ресурсы, такие как прослушивание порта <1024, то используйте для этого отдельную программу, такую как apache, и передайте связь с вашим Java-файлом через сокеты или другой порт.

Вы можете поместить материал в ~/.xinitrc пользователя для запуска при запуске сервера Xorg (экран графического интерфейса). Посмотрите также, если у вас есть /etc/X11/Xsession.d/startup-local и поместите туда скрипт запуска.

0

Во время загрузки X11 не запущен, поэтому запуск JFrame невозможен.

Если пользователь входит в систему, он владеет рабочим столом, и его Xauthority необходим для использования X11. У вас есть автоматический вход? Или X11 показывает вам экран входа?

Вы можете запустить программу в автозапуске пользователей и исправить права доступа в файле sudoers.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .