如何旋转一个显示器并保留 Compiz?

如何旋转一个显示器并保留 Compiz?

我以前可以旋转两个显示器中的一个使用最新的 nVidia 驱动程序(Linux-x86_64 为 290.10),但指南要求使用 Xinerama,根据某些人的说法,与 Compiz 不兼容确实,重新启动后旋转可以正常工作(甚至在登录屏幕中),但我无法compiz再启动:

$ compiz --replace --display :0.0 --sm-disable &
compiz (core) - Fatal: No composite extension
Launching fallback window manager
Xlib:  extension "RANDR" missing on display ":0.0".

有什么办法可以实现以下所有功能吗:

  • Compiz 效果
  • 一台旋转显示器
  • 在监视器之间拖动窗口

答案1

试试 xrandr。这是我的带外接显示器的 EeePC 的旋转脚本

#!/bin/bash
# usage:
# ./rotate VGA1 right
s=${1:-'LVDS1'}
r=${2:-'left'}
echo $s;

# see `xrandr` for output modes for all screens
case $s in
'LVDS1')
  m='1024x600' #default resolution of EeePC 1005ha
;;
'VGA1')
  m='1024x768' #best resolution for LG FLATRON 795FT Plus which plugged to EeePC
;;
esac

case `xrandr | grep $s | sed 's/^\(.*\+0 \)\(.*\) (.*/\2/g'` in
'left')
  echo 'returning from left to the normal state on screen '$s' with the '$m' mode'
  xrandr --output $s --mode $m --rotate normal
;;
'right')
  echo 'returning from right to the normal state on screen '$s' with the '$m' mode'
  xrandr --output $s --mode $m --rotate normal
;;
*)
  echo 'rotating to the '$r' on screen '$s' with the '$m' mode'
  xrandr --output $s --mode $m --rotate $r
;;
esac

答案2

我不太清楚,但是有一个 GUI 工具可以做你需要的事情,它叫格兰德尔-gtk 接口到 xrandr可以在 synaptic 包管理器中找到,很简单,但我认为它很有用(它对我来说不起作用,相同的 nvidia 驱动程序但单个显示器)

答案3

在使用 nvidia 驱动程序的双头设置中,无法只旋转一个屏幕 xrandr。这是我的经验。

原因似乎是在普通的 nvidia“twinview”中,两个屏幕实际上只是一个屏幕。

安装更新的 NVIDIA 驱动程序 (302.17) 后,我可以旋转单个屏幕。安装后,可以在 Ubuntu 12.04 中的显示应用程序中完成此操作

有一个关联安装 nvidia beta 驱动程序后需要进行修复。如果您计划以屏幕原始分辨率以外的其他分辨率使用您的计算机。

答案4

我发现这篇文章没有包括打开 Xinerama(根据我的经验,Xinerama = 糟糕!)

http://tuxtweaks.com/2010/05/ubuntu-enable-rotation-nvidia/

不过需要针对 2 个屏幕进行调整。希望有帮助。

相关内容