Могу ли я удаленный рабочий стол другому пользователю на той же машине?

13

На моем рабочем Mac, который физически находится в моем рабочем офисе, я хочу отделить свои рабочие материалы от личных, используя две разные учетные записи пользователей. Обычно я вхожу в систему как «рабочий» пользователь. Но я хочу, чтобы они были видны одновременно, так как у меня большой экран. Я думаю, что я мог бы получить хорошую настройку, если бы мог использовать встроенный клиент удаленного рабочего стола или сторонний VNC-клиент для подключения к экрану входа в систему существующего компьютера, чтобы я мог выбрать другого пользователя. Или, если бы я мог подключиться как конкретный пользователь, даже если физическая машина уже вошла как кто-то еще.

Я обычно использую свою систему с включенным режимом «удаленного управления» (не только удаленный рабочий стол), и я часто использую клиент VNC дома для доступа к своему рабочему столу Mac на работе. Хотя это не мой распорядок дня. В этом режиме клиент VNC сразу подключается к существующему рабочему столу. Есть ли способ заставить это соединение вместо этого перейти на экран входа в систему? Когда я использую VNC-клиент для подключения к существующему экрану, я вижу, что он пытается (вы получаете бесконечный регресс, который вы можете ожидать), поэтому основное соединение работает. Я просто хочу, чтобы он позволил мне выбрать другого пользователя.

Изменить: Я думаю, что часть проблемы заключается в том, что система может запускать сеанс VNC-сервера в фоновом режиме, ожидая моего подключения. Он подключается к активному сеансу. Кажется, это происходит, когда у меня включено «удаленное управление» или просто «общий доступ к экрану». Использование альтернативного пользователя в команде «open» приводит к ошибке из-за невозможности управления вашим собственным экраном.

Чтобы было ясно, обе учетные записи находятся на моем рабочем компьютере. Из дома я хочу подключиться к своему «рабочему пользователю» на моем рабочем компьютере. Со своего рабочего стола, вошедшего в систему как «рабочий пользователь», я хочу иметь возможность подключиться к «персональному пользователю» на моем рабочем компьютере.

Я думаю, что моя настоящая проблема связана с тем, что происходит на стороне сервера соединения. Я хочу, чтобы ОС открыла окно входа в систему, даже если на главном экране / клавиатуре зарегистрирован пользователь. Я знаю, что при некоторых обстоятельствах удаленный пользователь может получить экран входа в систему. Возможно, мне придется отказаться от идеи иногда подключаться к вошедшему в систему пользователю, а иногда - с новым логином. Если я смогу полностью переключиться в режим нового входа, это будет началом.

Как Mac OS решает, показывать ли экран входа в систему для удаленного подключения, а не просто подключать вас к работающему рабочему столу? Я думал, что это было связано с включением «удаленного управления» против «совместного использования экрана». Но при включенном «общем доступе к экрану» я все равно получаю поведение подключения к существующему.

Крис Квинель
источник
Я хотел бы спросить, есть ли defaults writeвзлом, который ослабляет ограничение Screen Sharing.app, или есть рекомендация для бесплатного просмотра VNC?
Amdyes

Ответы:

14

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

Создайте туннель SSH. Это работает для меня, используя 10,9.

Включите удаленный вход в систему (SSH) в « Системных настройках»> «Общий доступ» и в «Запуск терминала»:

ssh -NL 5901:localhost:5900 localhost

Наконец, используйте Screen Sharing для подключения к localhost: 5901 (вместо порта по умолчанию 5900). Вместо порта 5901 вы можете использовать намного более высокий порт, который больше не используется.

Приложение Screen Sharing находится здесь: /System/Library/CoreServices/Screen Sharing.app

mindmischief
источник
Это просто перенаправляет с 5901 на 5900 правильно? На самом деле он не запускает новый процесс удаленного входа в систему на стороне сервера.
Крис Куэнел
SSH manpage :: -L Указывает, что данный порт на локальном (клиентском) хосте должен быть перенаправлен на данный хост и порт на удаленной стороне. :: -N Не выполнять удаленную команду. Это полезно только для переадресации портов (только версия протокола 2).
Сумасшедший
Боже мой, это здорово! Наконец, я могу быстро проверять такие вещи, как локализованные строки в меню, не прибегая к виртуальным машинам и не выходя из системы и не возвращаясь!
Асмус
Это действительно здорово, наконец, что-то вроде вложенного X в Linux. Это работает на Сьерра. Открывать учетную запись другого пользователя на втором виртуальном рабочем столе гораздо лучше, чем постоянно менять учетные записи.
г-н Тао
1
Это все еще работает под 10,14 Мохаве. Для таких новичков, как я, я бы добавил пару вещей, которые привели меня в замешательство: 1. Вы вводите команду ssh в Терминале для учетной записи, которую хотите удаленно INTO (назовем это учетной записью 1), и оставляете этот процесс запущенным в Терминале. , Терминал расскажет вам о «подлинности хоста« localhost », но это кажется нормальным. Единственная обратная связь, которую вы увидите, что процесс SSH работает, находится в строке заголовка окна терминала. 2. Когда вы запускаете Screen Sharing , вы делаете это в учетной записи, которую хотите удаленно ОТ (вызывая эту учетную запись 2)
Gorb
4

Вы можете указать конкретного пользователя, используя команду open в терминале.

open vnc://user:password@hostname(or IP)

Это также достижимо с помощью Go Connect to Server ( cmd+ k) из поиска и ввода vnc: // имя хоста (или IP)

Вы можете иметь только двух пользователей, работающих на одной машине удаленно.

tron_jones
источник
1
С 10.9 оба говорят: «Вы не можете управлять своим компьютером». Они оба эффективно открывают общий доступ к экрану, который не позволяет этого.
Сумасшедший
Я получаю сообщение о «Вы не можете управлять своим собственным экраном».
Крис Куэнел
Я вижу из вашего редактирования выше, что это не возможно. Вы пытались подключиться к каждому пользователю с вашего домашнего компьютера отдельно.
tron_jones
Я смог заставить его работать через мое объяснение
mindmischief
Если вы получили новый экран входа в систему на том же компьютере, на котором уже зарегистрирован пользователь, скажите, пожалуйста, какие элементы вы включили на нем в настройках «Общий доступ».
Крис Кнель
1

Чтобы уточнить ответ @mindmischief , выполните шаги по его настройке:

  1. (необязательно) Создайте нового пользователя (например vnc) в Предпочтения / Пользователи с паролем.
  2. В разделе « Настройки / Общий доступ» включен общий доступ к экрану и удаленный вход (также разрешить доступ к нему).
  3. Убедитесь, что ssh vnc@localhostработает.
  4. Выполнить: ssh -NL 5901:localhost:5900 vnc@localhost(согласно этому сообщению ).

Примечание: вы можете использовать другого пользователя, чем vnc. Для отладки добавьте -vvvв свою sshкоманду.

Теперь откройте соединение VNC с помощью следующей команды:

open vnc://localhost:5901/
kenorb
источник
как создать нового пользователя необязательно? Как я могу подключиться, не имея пользователя? Кажется, вы должны указать один в «Разрешить доступ для:»
trainoasis
@trainoasis Вы всегда можете ssh другому существующему пользователю.
Кенорб
0

В настоящее время это работает из коробки со встроенной функцией «Общий доступ к экрану» (которая является просто встроенным сервером VNC).

Перейдите в «Системные настройки → Общий доступ» и включите «Общий доступ к экрану» для всех пользователей. Теперь каждая учетная запись пользователя сможет подключиться с помощью любого VNC-клиента и войти в свой собственный сеанс.

kirelagin
источник