встановити xclip на комп'ютері з Linux без доступу до кореня?


2

Я намагаюся встановити xclip на комп’ютер Linux без кореневого доступу, я завантажив, розпакував і запустив, ./configureале отримав помилку для відсутньої бібліотеки:

./configure --prefix=/home/user/bin/xclip/
checking for gcc... /usr/bin/gcc
[...]
checking for XmuClientWindow in -lXmu... no
configure: error: *** libXmu not found ***

Як я можу подолати цю помилку та встановити xclip?

Відповіді:


1

Вам потрібна libXmuбібліотека - якщо вона вже встановлена, вам, ймовірно, не вистачає заголовків розробок ( /usr/include/X11/Xmuта інших), які багато дистрибутивів потрібно встановити окремо.

Вам доведеться скомпілювати libXmuтак само вручну, або отримати libxmu-devабо libxmu-develпакет і витягти його, скажімо, на ~/usr.

Після цього встановіть:

export CFLAGS="-I$HOME/usr/include"
export LDFLAGS="-L$HOME/usr/lib"

Вам також можуть знадобитися:

export PKG_CONFIG_PATH="$HOME/usr/lib/pkgconfig:$HOME/usr/share/pkgconfig"

Також погляньте xsel, що робить майже те саме, але вимагає менших залежностей від бібліотеки.


Примітка: --prefix ~/bin/xclipце призведе до некрасивих шляхів, таких як ~/bin/xclip/bin/xclipі ~/bin/xclip/share/man/man1/xclip.1. Щось подібне --prefix ~/usrдасть приємніші результати.

Це особливо варто зазначити при установці бібліотек; набагато простіше скласти програму, коли є всі її бібліотеки --prefix ~/usr, а не кожна має свою власну --prefix.


Здається, там є заголовки xmu: ls / usr / include / X11 / Xmu Atoms.h CloseHook.h CurUtil.h DisplayQue.h Editres.h Error.h Initer.h Misc.h StdSel.h WidgetNode.h Xct.h CharSet.h Converters.h CvtCache.h Drawing.h EditresP.h ExtAgent.h Lookup.h StdCmap.h SysUtil.h WinUtil.h Xmu.h
719016

Можливо, воно занадто давнє (повідомлення про помилку насправді говорить про те, що XmuClientWindowв libXmu не існує; незрозуміло, відсутній цілий libXmu чи просто цей єдиний символ).
grawity

0

Ось мій спосіб вирішення (вимагає gvim та bash):

# My workaround for not having xsel or xclip
function get_clip() {
    file=/tmp/$USER/clipboard_contents.txt
    /bin/rm -f $file
    # Help from:  http://stackoverflow.com/a/23237529/120681
    gvim $file -T dumb --noplugin -n -es -c 'set nomore' +'normal "*P' +'wq'
    cat $file
}

Який потім може бути використаний як :

clip=$( get_clip ) 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.