Это можно установить, добавив строку в xorg.conf. Уделите внимание выбору раздела монитора.
Section "Monitor"
...
Option "Primary" "true"
EndSection
Я могу подтвердить, что это сработало для меня с помощью карты ATI Radeon + производителя: Catalyst 11.9 (Ubuntu 11.04). Возможно, это также применимо в разных конфигурациях.
Сервер X имеет несколько буферов обмена. Один с Ctrl + C называется буфер обмена, тот, где вы выделяете что-то, называется первичным. xclip позволяет вставлять вывод. Например, я скопировал часть вашего вопроса, но выделил другой текст в терминале:
Вы можете использовать эту идею в сценарии, который связан с быстрым сочетанием клавиш. Фактически, я написал сценарий, который размещен как
. Основная идея - связать его с ярлыком клавиатуры. Выделите то, что вы хотите добавить, затем нажмите ярлык. Например, я привязал мой к Ctrl + Alt + C . Exact command python /path/to/file.py
import gi
gi.require_version('Notify', '0.7')
from gi.repository import Notify
import subprocess
import os
import sys
# This script is meant to be bound to keyboard shortcut
def send_notification(title, text):
Notify.init(sys.argv[0])
n = Notify.Notification.new(title, text)
n.show()
def run_cmd(cmdlist):
# function for running
try:
stdout = subprocess.check_output(cmdlist)
except subprocess.CalledProcessError:
send_notification(sys.argv[0],"Clipboard error")
sys.exit(1)
else:
if stdout:
return stdout
# get contents of both clipboards
clip = run_cmd("xclip -o -sel clip".split())
primary = run_cmd("xclip -o -sel primary".split())
# write to temp file contents
# of both clipboards appended
temp_file = "/tmp/append.clip"
f = open(temp_file, "w")
f.write( clip + primary )
f.close()
# Read the new contents into clipboard
run_cmd(("xclip -sel clip " + temp_file).split())
# clean up
os.remove(temp_file)
Вот еще один очень простой метод, который использует короткий скрипт Bash. Сначала убедитесь, что у вас установлен xclip. Затем создайте свой скрипт bash следующим образом:
#!bin/bash
p=$(xclip -selection primary -o)
c=$(xclip -selection clipboard -o)
new=$'\n'
echo "$c$new$p" | xclip -selection clip
Назовите этот файл apndpc.sh и поместите его в какую-нибудь папку, скажем ~ / myscripts. Теперь привяжите к ней определенный пользователем ключ. Сделайте это с помощью системных настроек >> Клавиатура и перейдите на вкладку «Ярлыки». Нажмите «Пользовательские ярлыки», а затем нажмите «+», чтобы добавить нужную комбинацию клавиш. В командной строке поставьте:
bash -c 'bash ~ / myscripts / apndclp.sh'
Затем определите свою комбинацию клавиш. Я использую ALT + 3 для запуска действия.
Вот и все. Вы готовы к крупномасштабной операции копирования. Для копирования первого фрагмента текста используйте обычный Ctrl + c (или щелчок правой кнопкой мыши и выберите копию). Выберите следующий фрагмент (выберите NOT NOT copy), а затем нажмите комбинацию клавиш (ATL + 3). Это добавит выделенный текст в буфер обмена. Продолжайте делать это, пока не закончите. Затем вставьте как обычно, т.е. CTRL + v (или righclick и select paste), чтобы выгрузить окончательный накопленный текст.
Если вам не нравятся манипуляции с строкой в приведенном выше скрипте, используйте вместо этого сценарий:
#!bin/bash
# this is another version of clipboard append tool
# here we use a temporary file to append highlighted text to the clipboard
# the temporary file is deleted at the end of the operation
tmpfile="file111000111"
xclip -selection clipboard -o > $tmpfile # first dump the current clipboard to the tmpfile
printf '\n' >> $tmpfile # then add new line
xclip -selection primary -o >> $tmpfile # and finally add the highlighted text
cat $tmpfile | xclip -selection clip # now read the file back into the clipboard
rm $tmpfile # and remove the tempfile