我确信这个问题以前曾被问过,但我似乎无法在这个网站上找到它,所以就在这里。
我的 gnome3 看起来不太对劲。第一次安装时gnome-shell
,它可以工作,但重启一次后,界面看起来就像经典的 gnome 界面。
我正在寻找为什么会出现这种行为以及如何解决它的答案。
请注意,我以前遇到过这个问题,并且我能够(意外地)让它在 Ubuntu 11.10 中工作,所以它不太可能是硬件错误。
我在 HP Pavilion dv6 上运行 Ubuntu 12.04 32 位。我的设置 > 详细信息 > 图形读取“驱动程序:未知,环境:后备”
的结果gnome-shell --replace
这确实会在顶部显示 gnome3 栏以及 Super 键功能,但窗口会变得闪烁,并且很难在窗口之间导航。这是终端中的输出。
gnome-shell --replace
Agent registration failed: Already Exists
Warning of window manager:Log level 16: Unable to register authentication agent: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: An authentication agent already exists for the given subject
Waarschuwing van vensterbeheer:Log level 16: Error registering polkit authentication agent: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: An authentication agent already exists for the given subject (polkit-error-quark 0)
(gnome-shell:4549): folks-WARNING **: Failed to find primary PersonaStore with type ID 'eds' and ID 'system'.
Individuals will not be linked properly and creating new links between Personas will not work.
The configured primary PersonaStore's backend may not be installed. If you are unsure, check with your distribution.
答案1
上次 apt-get upgrade 后出现同样的错误。但使用 gnome-shell --replace 后,即使确认有错误,它实际上也可以启动。
如果您正在为 fglrx 卡使用禁止的驱动程序。一种解决方案是从 AMD 下载 amd-driver-installer-12-4-x86.x86_64.run,使用以下命令:
wget http://www2.ati.com/drivers/linux/amd-driver-installer-12-4-x86.x86_64.run
sh amd-driver-installer-12-4-x86.x86_64.run --extract
cd fglrx-install.NDh3QS/common/lib/modules/fglrx/build_mod
vim fglrx.patch
并添加:
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3
later modified (in 3.3-rc5) by commit:
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1
and finally backported to kernel 3.2.8.
This new version adds support for the 3.4 kernels, where some ASM header
file was splitted into several smaller files, so we have to explicitally
include the new file <asm/fpu-internal.h>.
Since 3.4-rc2, cpu_possible_map has been definitely removed. Let's use
cpu_possible_mask instead. This is probably required also for 64 bit kernels.
Signed-off-by: Gianluca Gennari <[email protected]>
---
firegl_public.c | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/firegl_public.c b/firegl_public.c
index a56fff1..b4bdfb7 100644
--- a/firegl_public.c
+++ b/firegl_public.c
@@ -187,6 +187,9 @@
#include <linux/gfp.h>
#include <linux/swap.h>
#include "asm/i387.h"
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
+#include <asm/fpu-internal.h>
+#endif
#include "firegl_public.h"
#include "kcl_osconfig.h"
@@ -4181,7 +4184,11 @@ static int kasInitExecutionLevels(unsigned long level_init)
{
unsigned int p;
KCL_DEBUG5(FN_FIREGL_KAS, "%d\n", level_init);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
+ for_each_cpu_mask(p, cpu_possible_mask)
+#else
for_each_cpu_mask(p, cpu_possible_map)
+#endif
{
KCL_DEBUG1(FN_FIREGL_KAS,"Setting initial execution level for CPU # %d\n", p);
preempt_disable();
@@ -5799,10 +5806,16 @@ void ATI_API_CALL KCL_fpu_begin(void)
#ifdef CONFIG_X86_64
kernel_fpu_begin();
#else
+#ifndef TS_USEDFPU
+ preempt_disable();
+ if (__thread_has_fpu(current))
+ __save_init_fpu(current);
+#else
struct thread_info *cur_task = current_thread_info();
preempt_disable();
if (cur_task->status & TS_USEDFPU)
__save_init_fpu(cur_task->task);
+#endif
else
clts();
#endif
--
1.7.5.4
然后执行
patch -p1 < fglrx.patch
cd ../../../../
./ati-installer.sh 8.961 --buildpkg Ubuntu/precise
cd..
sudo dpkg -i *.deb
aticonfig --initial
现在内核模块位于/usr/src/fglrx-8.961
,现在更容易重新安装(添加未来的补丁),如果您需要更多信息,sudo dkms "remove/build/install" fglrx/8.961
请阅读手册页。dkms
答案2
我在 HP Pavilion dv6 上运行 Ubuntu 12.04 32 位。我的“设置”>“详细信息”>“图形”显示“驱动程序:未知,环境:回退”
“enviroment: fallback” 意味着您正在运行所谓的 gnome-session-fallback,它实际上被设计成看起来像 gnome 2。尝试注销并更改会话(可以通过登录栏上方的小圆形按钮进行更改)应该可以工作。