My primary home machine is a Linux deskop, and my primary work machine is an OSX laptop. I do most of my work on the Linux box, ssh-ed into the OS X machine -- I recognize that's the reverse of usual setups, but I love the awesome window manager and the copy-on-select X Window selection scheme.
My frustration is in having separate copy and paste buffers across the two systems. If I select something in a work email, I often want to paste it into the Linux machine. Similarly if I copy an error from a Linux console I need to paste it into a work email.
There are a lot of ways to unify clipboards across machines, but they're all either full-scale mouse and keyboard sharing, single-platform, or GUI tools.
Finding the excellent xsel tool, I cooked up some command lines that would let me shuttle strings between the Linux selection buffer and the OS X system via ssh.
I put them into the Lua script that is the shortcut configuration for awesome and now I can move selections back and forth. I also added some shortcuts for moving text between the Linux selection (copy-on-select) and clipboard (copy-on-keypress) clipboard.
-- Used to shuttle selection to/from mac clipboard select_to_mac = "bash -c '/usr/bin/xsel --output | ssh mac pbcopy'" mac_to_select = "bash -c 'ssh mac pbpaste | /usr/bin/xsel --input'" -- Used to shuttle between selection and clipboard select_to_clip = "bash -c '/usr/bin/xsel --output | /usr/bin/xsel --input --clipboard'" clip_to_select = "bash -c '/usr/bin/xsel --output --clipboard | /usr/bin/xsel --input'" awful.key({ modkey, }, "c", function () awful.util.spawn(mac_to_select) end), awful.key({ modkey, }, "v", function () awful.util.spawn(select_to_mac) end), awful.key({ modkey, "Shift" }, "c", function () awful.util.spawn(clip_to_select) end), awful.key({ modkey, "Shift" }, "v", function () awful.util.spawn(select_to_clip) end),
This work is licensed under a
Creative Commons Attribution-NonCommercial 3.0 Generic License.
©Ry4an Brase | Powered by: blohg 0.10.1+/77f7616f5e91