mirror of
https://github.com/mikaela/mikaela.github.io/
synced 2024-11-19 10:29:23 +01:00
125 lines
4.6 KiB
Markdown
125 lines
4.6 KiB
Markdown
---
|
||
layout: post
|
||
comments: true
|
||
title: "Short quickstart 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)
|
||
* Hawk Host Blog *which was very helpful to me when I started using tmux.*
|
||
* [TMUX – The Terminal Multiplexer (Part 1)](http://blog.hawkhost.com/2010/06/28/tmux-the-terminal-multiplexer/)
|
||
* [TMUX – The Terminal Multiplexer (Part 2)](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`
|