Chia sẻ bảng tạm Mac OS X với máy chủ X bên trong


21

Tôi muốn có thể sao chép và dán giữa các ứng dụng MacOS X gốc (Ca cao?) Và các ứng dụng chạy trên máy chủ X bên trong của Mac.

Hiện tại tôi có thể sao chép và dán độc lập. Nếu tôi chọn văn bản trong cửa sổ xterm, tôi có thể dán lại vào bất kỳ cửa sổ dựa trên X nào khác. Tương tự, sao chép thông tin bên ngoài X có thể được dán vào các ứng dụng bên ngoài X.

Ví dụ, nếu tôi (theo thứ tự chính xác này):

  • Sao chép (chọn bằng chuột) "Sao chép bằng lựa chọn X" trong cửa sổ xterm
  • Sao chép (Chỉnh sửa | Sao chép) "Văn bản trong Firefox" trong Firefox
  • Dán (Shift Chèn xmodmap) vào nano Tôi nhận được "Sao chép bằng cách chọn X"
  • Dán (Chỉnh sửa | Dán) ở đây tôi nhận được -> Văn bản trong Firefox
  • Dán trong MacVIM (Chỉnh sửa | Dán) Tôi nhận được "Văn bản trong Firefox"
  • Dán vào / usr / bin / vim (không phải đồ họa) Tôi nhận được "Sao chép bằng lựa chọn X"

Làm cách nào để bật "chia sẻ clipboard" giữa X và Ca cao?

Xmodmap tôi đang sử dụng để dán trong X là:

xmodmap -e "keycode 84 = Insert"

Trong đó 84 là phím Enter của bàn phím số. Vì vậy, Shift Enter cho tôi dán.


Điều này có nhất quán trên các ứng dụng X không? Bạn đang thử nó đơn giản xtermhay tương tự, không vimhoặc một cái gì đó với bộ đệm riêng của nó? Phiên bản OS X nào bạn đang chạy? Bảng tạm của tôi được chia sẻ trên Ca cao và X11 như mong đợi trong 10.5.7.
jtb

Hey jtb, cảm ơn sự giúp đỡ của bạn. Tôi sử dụng vim và quen thuộc với các vấn đề xung quanh việc sử dụng bộ đệm nội bộ của nó. Tôi thường gian lận và chuyển sang chế độ chỉnh sửa sau đó dán từ menu chỉnh sửa của gvim (hoặc MacVim). Tôi đã thêm một số thông tin bổ sung vào bài viết của mình để làm rõ các phần khác của câu hỏi của bạn.
kwutchak

Ah, cảm ơn vì thông tin thêm. Tôi đang nhìn thấy hầu hết những gì bạn mô tả mặc dù phần dán ở bước 3 hoạt động (sử dụng nhấp chuột giữa, tôi không có Chèn ánh xạ). Command-C dường như sao chép vào bảng tạm nếu tôi có văn bản được chọn trong X11, nhưng tôi hiểu ý của bạn là sử dụng thao tác sao chép / dán X gốc không được đồng bộ hóa chính xác.
jtb

Đối với phiên bản OSX gần đây (tôi sử dụng 10.12), các công việc sau: stackoverflow.com/a/9525347/1353267
Samveen

Câu trả lời:


14

Bạn có thể bật đồng bộ hóa clipboard bằng cách chỉnh sửa ~/Library/Preferences/org.x.X11.plistvà thêm năm khóa boolean 1 sau (và kiểm tra chúng).

sync_clipboard_to_pasteboard
sync_pasteboard
sync_pasteboard_to_clipboard
sync_pasteboard_to_primary
sync_primary_on_select

Khởi động lại X11 và chúng nên được đồng bộ hóa đúng cách.

Chỉnh sửa: Bạn có thể thêm các khóa bằng Trình soạn thảo danh sách tài sản hoặc bằng các lệnh Terminal sau:

defaults write org.x.X11 sync_clipboard_to_pasteboard -boolean true
defaults write org.x.X11 sync_pasteboard -boolean true
defaults write org.x.X11 sync_pasteboard_to_clipboard -boolean true
defaults write org.x.X11 sync_pasteboard_to_primary -boolean true
defaults write org.x.X11 sync_primary_on_select -boolean true

Một giải pháp thay thế là cài đặt phiên bản XQuartz mới nhất , hiển thị các tùy chọn này thông qua bảng X11 Preferences >> Pasteboard.


Dòng này gõ vào xterm của tôi và được sao chép ... Cảm ơn bạn rât nhiêu.
kwutchak

Cam ơn vi đa hỏi. Mac có thói quen đánh Cmd + C đến mức tôi không nhận ra mình đang thiếu gì. Nhưng tôi khá vui mừng khi có cái này trong cấu hình của tôi bây giờ.
jtb

Tôi đã cài đặt XQuarts và thay đổi các tùy chọn cho nó. Khi tôi ssh đến một hệ thống từ xa có bật XForwarding (trên cả hai hệ thống) và thêm mọi thứ vào bảng tạm bằng xclip (ví dụ: ls | xclip), bảng tạm trên hệ thống cục bộ của tôi (mac os x) không thay đổi. Tôi đang thiếu gì?
cwd

4
Tôi nghĩ rằng tập tin chính xác để viết cho đến bây giờ làorg.macosforge.xquartz.X11
Keith Smiley

2

Bạn cũng có thể biên dịch lại vim-7.3 và thêm phần sau vào .vimrc:

set clipboard=unnamed

Sau đó, bạn sẽ có thể thực hiện 'yy' trong vim và dán vào Ca cao với Cmd + V. Và ngược lại: sao chép bằng Cmd + V trong Ca cao và dán vào vim bằng 'p'


lưu ý rằng vim của bạn phải được biên dịch với clipboardtùy chọn trên để làm việc này. Bạn có thể xem nếu nó bằng cách thực hiện vim --version | grep clipboard. Nếu nó nói +clipboard, thì bạn tốt. Nếu nó nói -clipboard, điều này sẽ không hoạt động.
egarcia
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.