mikaela.github.io/blog/_posts/2016-03-09-weechat-tmux-quickstart.md
2018-11-26 00:51:24 +02:00

4.7 KiB
Raw Blame History

Sometimes you dont have GUI when you need remote support, luckily you dont need it even if you have only one device.

What is what?

  • Tmux is terminal multiplexer which allows you to have “multiple terminals” in one terminal. You can also detach it which means returning to the terminal where you ran tmux leaving tmux and everything there running and later return to it.
  • WeeChat is popular text based IRC client.

Installing things

Note: WeeChat has multiple optional depedencies, but I am only listing the most important ones (I will return to it later) unless they are all in one package.

  • Arch & deriatives:
    • sudo pacman --needed -S tmux weechat perl gpm pastebinit
  • Debian & deriatives:
    • sudo apt-get install weechat-curses weechat-plugins gpm pastebinit

tmux

Just run tmux and you will find yourself in a new shell, but with tmux bar on the bottom where you see open “windows”.

Basic navigation:

*Note: Tmux users ctrl + b by default instead of ctrl + a as it was developed in screen. That can be changed with tmux.conf (check further reading after WeeChat).

  • Ctrl + b + c = new “window”
  • Ctrl + b + number = move to “window” number
  • Ctrl + b + x = kill “window”
  • Ctrl + b + w = interactive “window” selection
  • Ctrl + b + d = detach tmux (return with tmux attach)

WeeChat

Time to finally go to IRC. Go to tmux first and there run weechat (or if your distribution has ancient version of WeeChat, weechat-curses, but in that case you should upgrade (if your distribution is Debian/Ubuntu/Raspbian, use this repository)).

WeeChat welcomes you and suggests you to read at least the quickstart guide and recommends reading users guide too, but in this case we can skip those.

First we must connect to the network where the support channel of our distribution is.

  1. Add the network to WeeChat.
    • freenode: /server add freenode chat.freenode.net/6697 -ssl -autoconnect
  2. Connect there.
    • /connect freenode
  3. Join the channel of your distribution.
    • /join #distribution
      • you can also join multiple channels at once by separating them by commas e.g. /join #channel,#channel2.

You might want to have friendly channel listing and be able to click the channels with mouse? That is why you installed perl and gpm (you might need to sudo systemctl start gpm or whatever init system you use).

  1. /script install buffers.pl
  2. /mouse enable

Now you should see bar with the core buffer (weechat), server buffers merged to it (freenode) and #distribution. If mouse doesnt work, you can /buffer X where X is the number to move. For moving between merged buffers move to the buffer and press Ctrl + x.

And the last thing, if you need to see just plain lines without sidebars or anything, press alt + l (alt can be replaced with esc).

pastebinit

You are often wanted to pastebin something which can be difficult without GUI. Luckily there is pastebinit which you can use instead of typing everyting by hand.

Usage:

  • pastebinit file.txt to pastebin the content of file.txt
  • dmesg | pastebinit to pastebin output of dmesg

Pastebinit replies by givig you address to the paste which you can then give to IRC.

Alternatives to pastebinit with some pastebins:

  • ix.io: command | curl -F 'f:1=<-' ix.io
  • sprunge.us: command | curl -F 'sprunge=<-' http://sprunge.us

These also answer by giving you link to the paste.

Further reading