3

Мне нужно настроить dev-среду, чтобы иметь возможность отлаживать серверную часть приложения в Eclipse.

Существует внешний интерфейс (запускаемый под user1) и back-end (запускаемый под user2). У каждого пользователя есть свой логин со своей файловой системой (в /home /user1 и /home /user2).

Если отладка не нужна, я могу просто запустить бэкэнд из обычного терминального сеанса (где вы можете легко войти в систему как user2) - и это прекрасно работает. Но это не совсем отладка (если вы просматриваете файлы журналов).

Чтобы увидеть данные (предоставляемые back-end) в front-end, я, очевидно, должен войти в систему как user1. А это значит, что я не могу получить доступ к полной файловой системе в /home /user2, что и нужно бэкэнду.

Я нашел какой-то «обходной» обходной путь, но считаю его очень грязным - как корень, я изменяю атрибуты всего каталога /home /user2, чтобы они были доступны для чтения всем. Сказать, что мне не нравится, было бы серьезным преуменьшением. Это может не быть большой проблемой для компьютера разработчика, за исключением того, что вы должны делать это снова и снова для всех новых файлов, которые создаются во время выполнения - что вы должны делать для каждого сеанса отладки (что не очень продуктивно, но в худшем случае дело - выполнимо).

Итак, вопрос - как я могу получить терминальную сессию с полным графическим интерфейсом пользователя, вошедшим в систему от имени другого пользователя, чем тот, который уже вошел в систему на той же машине? Вроде как XMing (но это не решение, поскольку для него требуется другая машина с Windows) или RemoteDesktop (за исключением того, что я буду входить на ту же машину).

Проще говоря - две сессии рабочего стола с графическим интерфейсом для двух разных пользователей (одной и той же машины), работающие параллельно. Судя по поиску, который я сделал, кажется, что CentOS на самом деле не поддерживает это, но я могу легко что-то здесь упустить.

1 ответ1

2

Есть несколько способов сделать это:

  1. Используйте Xephyr, чтобы запустить отдельный сеанс X для пользователя 2 и взаимодействовать с ним.

  2. Запустите VNC X Server для пользователя 2 и запустите программы для подключения к нему. Затем вы можете подключиться к нему с помощью средства просмотра VNC, чтобы взаимодействовать с ним.

  3. Запустите два X-сервера, каждый на отдельном виртуальном терминале. Вы можете переключаться между ними с помощью Ctrl+Alt+F7 и Ctrl+Alt+F8 (обычно)


Тем не менее, это не обязательно. Вы можете запустить сервер как пользователь 2 так, чтобы он прослушивал отладочные соединения на конкретном порту и подключался к нему с помощью Eclipse как пользователь 1 в основной сессии X. Это имеет приятное преимущество, заключающееся в том, что и отладчик, и отладчик находятся в одном сеансе Eclipse для отладки.

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