Добавить After=mysql.service
в Ваш сервисный файл (или изменение это к корректному сервисному названию), например:
[Unit]
Description=Boardies Email Server Startup Script
After=mysql.service
[Service]
ExecStart=/home/bits/EmailServer/start.email
Restart=always
[Install]
WantedBy=multi-user.target
Обратите внимание на то, что Вы не должны помещать свой сервисный файл в/lib/systemd/system, это - пользователь, предоставленный файлу, и необходимо только скопировать его в/etc/systemd/system.
Для получения списка всех сервисных файлов, можно использовать systemctl list-unit-files
и определите корректное название своего сервиса базы данных (это - вероятно, или mysql.service или mysqld.service),
xsel
утилита подобна xclip
, но реализованный немного по-другому. Обычно я ожидал бы, что они будут вести себя таким же образом, но они не выполняют точно те же X вызовов библиотеки, таким образом, это в некоторых угловых случаях возможно xsel
будет работать, но нет xclip
, или наоборот. Попробуйте:
bind C-c run "tmux save-buffer - | xsel -ib"
bind C-v run "tmux set-buffer \"$(xsel -ob)\"; tmux paste-buffer"
Я испытываю подобную проблему, и временный файл не поможет в данном случае, я боюсь. Это вызвано тем, что xclip
кажется, ведет себя по-другому при порождении tmux, будучи выполненным "в интерактивном режиме" и ожидании другого приложения для взятия владения области буфера обмена. Попытайтесь использовать xclip -l 1
заставить его сразу выйти (см. страницу справочника для деталей).
bind C-y run-shell "tmux save-buffer - | xclip -l 1 -i"
. Уход о
– peterph
29.05.2013, 00:04
xclip
делает, когда Вы пытаетесь скопировать буфер. Если это остается зависающим там ожидание чего-то, уничтожение его помогают? Кроме того, необходимо выйти, режим выбора ударом Входят (и следовательно хранение его в буфер), прежде чем Вы попытаетесь скопировать буфер в X буферов обмена.
– peterph
29.05.2013, 12:36
Добавление -b
кому: run-shell
(или run
) команда решила проблему. С -b
команда оболочки выполняется в фоновом режиме.
bind C-c run-shell -b "tmux save-buffer - | xclip -i -sel clipboard"
Во-первых, вам нужно понять, как работает буфер обмена X11. Вы можете прочитать эссе jwz об этом: [119915]http://www.jwz.org/doc/x-cut-and-paste.html
xsel[119920] не затронута этой проблемой, потому что первое, что она делает после fork(), это отделяет себя от управляющего терминала, чтобы он не получал сигнал HUP при выходе из оболочки (вы даже не увидите его в выводе ps выше, а только когда вы сделаете [119921]ps -e | grep xsel[119922]). [119385]
Я использую рабочую конфигурацию:
# Yank to copy text with y.
bind-key -t vi-copy y copy-pipe "tmux save-buffer - | xclip -sel clipboard -i"
# Update default binding of `Enter` to also copy with this method.
unbind -t vi-copy Enter
bind-key -t vi-copy Enter copy-pipe "tmux save-buffer - | xclip -sel clipboard -i"
# Toggle rectangular copy mode.
bind-key -t vi-copy 'C-v' rectangle-toggle
# Bind ']' to paste.
bind ] run "tmux set-buffer \"$(xclip -o -sel clipboard)\" && tmux paste-buffer"
# Toggle rectangular copy mode.
bind-key -t vi-copy 'C-v' rectangle-toggle
# http://askubuntu.com/a/507215/413683
set -g set-clipboard off
Это старый вопрос, но я подозреваю, что у меня есть решение, взятое со страницы Tmux в Arch wiki:
xclip также может быть использован для этой цели, в отличие от xsel он лучше работает при печати сырого битового потока, который не соответствует текущей локали. Тем не менее, лучше использовать xsel вместо xclip, потому что xclip не закрывает STDOUT после чтения из буфера tmux. Таким образом, tmux не знает, что задача копирования завершена, и продолжает ждать завершения работы xclip, тем самым делая tmux неотзывчивым. Обходным решением является перенаправление STDOUT xclip в /dev/null
Таким образом, ваша команда должна выглядеть так:
bind C-c run "tmux save-buffer - | xclip -i -sel clipboard >/dev/null"