i3이나 Gnome을 사용하면 모니터마다 작업공간/데스크톱이 있는데 XMonad에서는 노트북 화면과 외부 모니터가 하나의 큰 화면으로 연결됩니다(그림 참조 xdpyinfo
).
하나가 아닌 두 개의 화면을 사용하도록 X를 어떻게 구성합니까?
답변1
XMonad가 Xinerama 지원으로 컴파일되지 않은 것 같습니다. 아래 지침에 따라 확인할 수 있습니다.https://wiki.haskell.org/Xmonad/Frequently_asked_questions#Multi_head_or_xinerama_troubles
문제를 진단하려면 명령줄에서 다음 명령을 실행하세요.
ghc -e Graphics.X11.Xinerama.compiledWithXinerama
출력이 True이면 아래 getScreenInfo 테스트로 건너뜁니다. 출력이 False이면 Haskell X11 라이브러리가 Xinerama용으로 빌드되지 않은 것입니다.
답변2
XMonad에 대해 알려주셔서 감사합니다. 시도해 볼 가치가 있는 흥미로운 창 관리자인 것 같습니다. 어제 글을 올리면서 알게 된 것처럼, 저는 듀얼 모니터 설정이 없어서 평소에는 이 질문에 대답하지 않지만, 하루가 지났으니 최소한 답변을 얻을 수 있을 거라 생각했습니다.
해당 문서를 확인하세요.https://wiki.haskell.org/Xmonad/Frequently_asked_questions, 링크를 찾았어요https://hackage.haskell.org/package/xmonad-contrib-0.15/docs/XMonad-Layout-IndependentScreens.html이것은 분명히 당신이 원하는 것을 실제로 수행하는 방법을 알려줍니다.
파일에 다음과 같은 내용을 추가해야 합니다 ~/.xmonad/xmonad.hs
.
import XMonad.Layout.IndependentScreens
myConfig = def { workspaces = withScreens 2 ["name1", "name2"] }
그 후 페이지에서는 개별 작업 공간을 참조하기 위해 키 바인딩을 설정하는 방법을 자세히 설명합니다. 분명히 키 바인딩을 위한 기본 구성 파일에 다음 줄이 있습니다.
[((m .|. modm, k), windows $ f i)
이것은 다음과 같이 변경되어야 합니다.
[((m .|. modm, k), windows $ onCurrentScreen f i)
실제로 페이지를 사용하지 않고도 알 수 있는 것은 이것이 전부입니다.