如何在 openSUSE Leap 42.2 上安装 libXScrnSaver

Posted

技术标签:

【中文标题】如何在 openSUSE Leap 42.2 上安装 libXScrnSaver【英文标题】:How to install libXScrnSaver on openSUSE Leap 42.2 【发布时间】:2016-12-07 08:52:12 【问题描述】:

我想在运行openSUSE Leap 42.2的笔记本电脑上安装Atom编辑器,我使用命令zypper in安装rpm包,但它提示错误信息

问题:没有提供 atom-1.12.6-0.1.x86_64 所需的 libXScrnSaver

flying@lempstacker:~> sudo zypper in ~/Downloads/atom-1.12.6-0.1.x86_64.rpm 
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides libXScrnSaver needed by atom-1.12.6-0.1.x86_64
 Solution 1: do not install atom-1.12.6-0.1.x86_64
 Solution 2: break atom-1.12.6-0.1.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c] (c): 

我使用的镜像官方仓库由aliyun提供,具体配置命令为

sudo zypper mr -da
sudo zypper rr `zypper repos | awk 'if(NR>2)print $5'`
sudo zypper ar -fcg http://mirrors.aliyun.com/opensuse/distribution/leap/42.2/repo/oss/ 'Aliyun-Leap-42.2-OSS'
sudo zypper ar -fcg http://mirrors.aliyun.com/opensuse/distribution/leap/42.2/repo/non-oss/ 'Aliyun-Leap-42.2-Non-OSS'
sudo zypper ar -fcg http://mirrors.aliyun.com/opensuse/update/leap/42.2/oss/ 'Aliyun-Leap-42.2-Update-OSS'
sudo zypper ar -fcg http://mirrors.aliyun.com/opensuse/update/leap/42.2/non-oss/ 'Aliyun-Leap-42.2-Update-Non-OSS'
sudo zypper ref

执行命令zypper repos

flying@lempstacker:~> zypper repos
# | Alias                           | Name                            | Enabled | GPG Check | Refresh
--+---------------------------------+---------------------------------+---------+-----------+--------
1 | Aliyun-Leap-42.2-Non-OSS        | Aliyun-Leap-42.2-Non-OSS        | Yes     | (r ) Yes  | Yes    
2 | Aliyun-Leap-42.2-OSS            | Aliyun-Leap-42.2-OSS            | Yes     | (r ) Yes  | Yes    
3 | Aliyun-Leap-42.2-Update-Non-OSS | Aliyun-Leap-42.2-Update-Non-OSS | Yes     | (r ) Yes  | Yes    
4 | Aliyun-Leap-42.2-Update-OSS     | Aliyun-Leap-42.2-Update-OSS     | Yes     | (r ) Yes  | Yes    
flying@lempstacker:~>

我尝试搜索libXScrnSaver

通过命令zypper search

flying@lempstacker:~> zypper search libXScrnSaver
Loading repository data...
Reading installed packages...

S | Name                      | Summary                                                      | Type   
--+---------------------------+--------------------------------------------------------------+--------
  | libXScrnSaver-devel       | Development files for the X11 Screen Saver extension library | package
  | libXScrnSaver-devel-32bit | Development files for the X11 Screen Saver extension library | package
flying@lempstacker:~> 

通过命令zypper info

flying@lempstacker:~> zypper info libXScrnSaver
Loading repository data...
Reading installed packages...


package 'libXScrnSaver' not found.
flying@lempstacker:~> 

但它除了 libXScrnSaver-devel 之外什么也没提供,即使我安装了它也没有用。

我关注了博客Install Slack on openSUSE Leap 42.1

它说只需要安装libXss1,但它已经安装在我的操作系统上。

flying@lempstacker:~> sudo zypper in libXss1
Loading repository data...
Reading installed packages...
'libXss1' is already installed.
No update candidate for 'libXss1-1.2.2-11.19.x86_64'. The highest available version is already installed.
Resolving package dependencies...

Nothing to do.
flying@lempstacker:~>

我真的很想知道如何解决这个问题!

谁能帮帮我?

【问题讨论】:

【参考方案1】:

我在同一条船上。您是否尝试过忽略依赖项来“破坏原子”的选项?

我尝试使用这个 opensuse 软件页面,但没有运气: https://software.opensuse.org/package/libXScrnSaver

当我尝试列出已安装的包时,我得到一个开发版本:

linux-2472:/home/Downloads # rpm -qa | grep -i libxscr
libXScrnSaver-devel-1.2.2-11.19.x86_64

当我尝试安装 libXScrnSaver(版本 1.2.2-10)时,我得到:

linux-2472:/home/Downloads # zypper in ./libXScrnSaver-

1.2.2-10.1.src.rpm 
Loading repository data...
Reading installed packages...
'_tmpRPMcache_:libXScrnSaver=0:1.2.2-10.1' not found in package names. `Trying capabilities.`
No provider of '_tmpRPMcache_:libXScrnSaver=0:1.2.2-10.1' found.
Resolving package dependencies...

Nothing to do.

请注意,我的链接中有两个版本:1.2.2-10.1 和 1.2.2-23.1 No Luck yet。也许它的那个 tmprpmcache_ 包。我明天试试,太晚了。

【讨论】:

【参考方案2】:

我今天在我的 opensuse 42.2 飞跃中遇到了同样的问题。 但是选择解决方案 2(通过忽略依赖项来安装)效果很好。

虽然根据这里的链接: https://github.com/atom/atom/issues/13354

libXScrnSaver 不是它真正想要的,而是需要 libXss.so.1

建议的解决方案是在 rpm 中编辑规范文件,尽管我不知道该怎么做。 这可能会帮助您: https://github.com/atom/atom/pull/13386

【讨论】:

【参考方案3】:

它似乎会在即将发布的版本中修复:https://github.com/atom/atom/pull/13386

我刚刚下载了它并且遇到了同样的问题。但是我已经安装了它,甚至打破了依赖关系,它可以正常工作(一定要安装 libXss):

sudo rpm -i --nodeps atom.x86_64.rpm

【讨论】:

以上是关于如何在 openSUSE Leap 42.2 上安装 libXScrnSaver的主要内容,如果未能解决你的问题,请参考以下文章

Opensuse系统配置记录

在 Opensuse 飞跃上安装 python 3.5

openSUSE Leap 15取消自动登录

通过终端在 openSUSE Leap 中安装 Python

安装 openSUSE Leap 42.1 之后要做的 8 件事

pgAdmin4 在 OpenSUSE Leap 15.2 上不显示服务器连接