blog: 2016-03-09-weechat-tmux-quickstart.md

This commit is contained in:
Aminda Suomalainen 2016-03-09 09:48:06 +02:00
parent 52556ebd62
commit ea99ee68a0

View File

@ -0,0 +1,123 @@
---
layout: post
comments: true
title: "Short quickstat on tmux & WeeChat for GUIless support"
category: [english]
tags: [english, irc, tmux]
---
*Sometimes you don't have GUI when you need remote support, luckily you
don't 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](https://weechat.org/download/debian/))).
WeeChat welcomes you and suggests you to read at least the quickstart
guide and recommends reading user's 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 doesn't 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](http://ix.io/): `command | curl -F 'f:1=<-' ix.io`
* [sprunge.us](http://sprunge.us/): `command | curl -F 'sprunge=<-' http://sprunge.us`
These also answer by giving you link to the paste.
## Further reading
* tmux
* [my ~/.tmux/tmux.conf](https://github.com/Mikaela/shell-things/blob/master/conf/tmux.conf)
* [TMUX The Terminal Multiplexer (Part 1) | Hawk Host Blog](http://blog.hawkhost.com/2010/06/28/tmux-the-terminal-multiplexer/)
* [TMUX The Terminal Multiplexer (Part 2) | Hawk Host Blog](http://blog.hawkhost.com/2010/07/02/tmux-%E2%80%93-the-terminal-multiplexer-part-2/)
* `man tmux`
* WeeChat
* [WeeChat documentation index (multiple languages)[https://weechat.org/doc/)
* [Quick Start guide](https://weechat.org/files/doc/stable/weechat_quickstart.en.html)
* [User's guide](https://weechat.org/files/doc/stable/weechat_user.en.html)
* [FAQ](https://weechat.org/files/doc/weechat_faq.en.html)
* [My IRC page](https://mikaela.info/irc/)
* At the time of writing there are two posts about WeeChat.
* pastebinit
* [pastebinit homepage](https://www.stgraber.org/category/pastebinit/)
* `man pastebinit`