OpenBSD 6.2가 설치되어 있는 경우 여러 X 서버를 동시에 실행할 수 있는 방법은 무엇입니까?
목적: "X 서버" 2개 운영
왜? : 하나의 "X"는 일반 용도이고 다른 "X"는 Firefox 전용입니다. 누군가가 실제 웹브라우저를 깨뜨렸다면 좀 더 정확한 분리가 가능할 것이다.
CTRL+ALT+F*를 사용하여 다른 "X" 서버로 전환합니까?
답변1
좋은 소식: 기술적으로 가능합니다.
나쁜 소식: DRI/KMS(커널 비디오 드라이버)(이 경우 X 액세스 하드웨어 사용) 없이 Xenocara(OpenBSD X11 복제본)에서는 작동하지 않지만 /dev/xf86
Linux 및 FreeBSD의 XOrg에서는 작동합니다. 귀하의 상황에 맞는지 확인하기 위해 시도해 볼 수 있습니다. KMS를 사용하면 작동할 수 있습니다.
다시 한 번 좋은 소식이 있습니다. 보안이 향상되지 않기 때문에 필요하지 않습니다. 웹 브라우저는 X 클라이언트입니다. 일반 프로세스로 실행되며 X를 사용하여 데이터를 표시합니다.
X 및 가상 터미널.
wscons
PC 비디오 하드웨어는 여러 가상 터미널( )을 제공하는 OpenBSD 콘솔 드라이버에 의해 제어됩니다 vt
. 언제vt
키보드 컨트롤 도 X에서 X 로 이동되었으므로 CTRL+ALT+F *를 누르면 따라서 두 개의 서로 다른 에서 X를 실행해야 할 수도 있습니다 . X는 빌릴 수 있는 옵션이 있습니다 . 클라이언트 외부에서 X를 실행하는 것은 의미가 없으므로 다음을 수행할 수 있습니다.wscons
/dev/xf86
wscons
wscons
vt
wscons
vt
vtXX
vt
DISPLAY=:2 xinit xterm -- vt1 :2
그 이후의 모든 내용은 --
X로 전달되므로 X는 vt1에서 시작됩니다. 그런 다음 다른 것으로 전환 vt
하고 실행합니다.
DISPLAY=:3 xinit xterm -- vt3 :3
이제 2개의 서버가 있습니다. 작동하는 경우 디스플레이 관리자( xenodm
OpenBSD)를 구성하여 vtXX
옵션을 X
.
X와 그 클라이언트, 그리고 X 서버 2대를 운영할 이유가 없는 이유.
X 클라이언트(무엇이든 xterm
) 는 환경 변수를 firefox
사용하여 서버 DISPLAY
를 찾고 X
, 연결하고, 이를 사용하여 데이터를 표시하고 키 입력을 읽습니다.
따라서 클라이언트는 로컬로 실행되며 다른 X 서버를 사용하여 데이터를 표시합니다. 클라이언트가 손상되면 클라이언트가 어떤 X 서버에 연결되는지는 중요하지 않습니다.
추신: 이것이 Xenocara가 드라이버를 사용할 때 2개의 다른 vt에서 실행되지 않는 이유입니다 vesa(4)
. Xenocara는 비디오 메모리에 액세스하고 이 장치 파일에 잠금을 설정하기 위해 /dev/xf86
(aka option APERTURE
) ( )를 사용합니다. xf86(4)
따라서 KMS와 함께 사용할 수 있습니다.