การติดตั้ง tmux ผ่านแพ็คเกจที่สร้างไว้ล่วงหน้า
หลายแพลตฟอร์มมีแพ็คเกจ tmux ที่สร้างไว้ล่วงหน้า แต่อาจมีเวอร์ชันเก่า คำสั่งในการค้นหาและติดตั้งสามารถดูได้จากเอกสารเครื่องมือจัดการแพ็คเกจของแพลตฟอร์ม ตัวอย่างเช่น:| Platform | Install Command |
|---------------------|--------------------------|
| Arch Linux | pacman -S tmux |
| Debian หรือ Ubuntu | apt install tmux |
| Fedora | dnf install tmux |
| RHEL หรือ CentOS | yum install tmux |
| macOS (ใช้ Homebrew) | brew install tmux |
| macOS (ใช้ MacPorts) | port install tmux |
| openSUSE | zypper install tmux |
แพ็คเกจไบนารีจากบุคคลที่สามที่มีให้ใช้งาน: AppImage และ RPMs
ไบนารีที่สร้างไว้ล่วงหน้าแบบคงที่
ไบนารี tmux ที่สร้างไว้ล่วงหน้าสามารถดาวน์โหลดได้จากคลัง tmux-builds ไบนารีเหล่านี้สร้างสำหรับแพลตฟอร์ม Linux และ macOS ที่พบบ่อยและไม่ต้องการไลบรารีรันไทม์เพิ่มเติม ดูรายละเอียดและคำแนะนำการติดตั้งได้จากที่เก็บนั้นการติดตั้งจากไฟล์ tarball ต้นทาง
tmux ต้องการไลบรารีสองตัวต่อไปนี้:- libevent
- ncurses
นอกจากนี้ tmux ยังต้องการคอมไพเลอร์ C, make, yacc (หรือ bison) และ pkg-config
บนแพลตฟอร์มส่วนใหญ่ ไลบรารีเหล่านี้สามารถติดตั้งได้จากแพ็คเกจ ตารางต่อไปนี้แสดงแพ็คเกจที่จำเป็นสำหรับการรันหรือการสร้าง tmux:
| Platform | คำสั่ง | แพ็คเกจสำหรับการรัน | แพ็คเกจสำหรับการสร้าง |
|-----------------|------------------------|------------------------------|------------------------------------------------------|
| Debian | apt-get install | libevent ncurses | libevent-dev ncurses-dev build-essential bison pkg-config |
| RHEL หรือ CentOS| yum install | libevent ncurses | libevent-devel ncurses-devel gcc make bison pkg-config |
หาก libevent และ ncurses ไม่สามารถหาเป็นแพ็คเกจได้ สามารถสร้างจากต้นทางได้ ดูส่วนนี้
tmux ใช้ autoconf ดังนั้นจึงมีสคริปต์ configure เพื่อสร้างและติดตั้งไปยัง /usr/local โดยใช้ sudo ให้รัน:
tar -zxf tmux-*.tar.gz
cd tmux-*/
./configure
make && sudo make install
หากต้องการติดตั้งไปยังที่อื่น ให้เพิ่ม --prefix ไปที่คำสั่ง configure เช่น เพื่อติดตั้งไปยัง /usr ให้ใช้ --prefix=/usr
การสร้างไลบรารีขึ้นต้น
หากไลบรารีไม่มีให้ใช้งาน สามารถสร้างจากต้นทางและติดตั้งในที่ท้องถิ่น (ไม่แนะนำหากสามารถติดจากแพ็คเกจระบบได้)การสร้างต้องการคอมไพเลอร์ C, make, automake, autoconf และ pkg-config โดยทั่วไปจำเป็นต้องสร้าง libevent มากกว่า ncurses
คำแนะนำฉบับเต็มสามารถดูได้จากเว็บไซต์โครงการ แต่ต่อไปนี้เป็นสรุปวิธีการติดตั้ง libevent และ ncurses ไปยัง ~/local สำหรับผู้ใช้คนเดียว หากต้องการติดตั้งทั่วระบบไปยังไดเรกทอรีภายใต้ /opt หรือ /usr/local ให้แทนที่เส้นทางที่จำเป็นสำหรับ $HOME/local ในแต่ละขั้นตอนและรัน make install ในฐานะ root (ตัวอย่างด้วย sudo: make && sudo make install)
#### สำหรับ libevent:
tar -zxf libevent-*.tar.gz
cd libevent-*/
./configure --prefix=$HOME/local --enable-shared
make && make install
#### สำหรับ ncurses:
tar -zxf ncurses-*.tar.gz
cd ncurses-*/
./configure --prefix=$HOME/local --with-shared --with-termlib --enable-pc-files --with-pkg-config-libdir=$HOME/local/lib/pkgconfig
make && make install
จากนั้นให้สคริปต์ configure ของ tmux ชี้ไปยังไลบรารีท้องถิ่นโดยใช้ตัวแปรแวดล้อม PKG_CONFIG_PATH:
tar -zxf tmux-*.tar.gz
cd tmux-*/
PKG_CONFIG_PATH=$HOME/local/lib/pkgconfig ./configure --prefix=$HOME/local
make && make install
หาก ncurses และ libevent ถูกติดตั้งในไดเรกทอรีที่ต่างกันแทนที่จะอยู่รวมกันใน ~/local จะต้องเพิ่มไดเรกทอรี lib/pkgconfig ของทั้งสองเข้าไปใน PKG_CONFIG_PATH ตัวอย่างเช่น:
PKG_CONFIG_PATH=/opt/libevent/lib/pkgconfig:/opt/ncurses/lib/pkgconfig ./configure --prefix=$HOME/local
ไบนารี tmux ที่สร้างใหม่จะอยู่ที่ ~/local/bin/tmux
เมื่อติดตั้ง tmux บน Linux ในที่ท้องถิ่น ตัวเชื่อมโยงรันไทม์อาจต้องได้รับการบอกตำแหน่งของไลบรารีโดยใช้ตัวแปรแวดล้อม LD_LIBRARY_PATH เช่น:
LD_LIBRARY_PATH=$HOME/local/lib $HOME/local/bin/tmux -V
และเพื่อดูหน้าคู่มือ (man page) จำเป็นต้องตั้งค่า MANPATH:
MANPATH=$HOME/local/share/man man tmux
ผู้ใช้ส่วนใหญ่จะต้องตั้งค่าตัวแปรเหล่านี้ในไฟล์โปรไฟล์เชลล์ ตัวอย่างเช่นใน .profile สำหรับ ksh หรือ .bash_profile สำหรับ bash:
export PATH=$HOME/local/bin:$PATH
export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
export MANPATH=$HOME/local/share/man:$MANPATH
การติดตั้งจากระบบควบคุมเวอร์ชัน (Git)
การสร้าง tmux จาก Git มีข้อกำหนดเหมือนกับการสร้างจาก tarball เพิ่มเติมด้วย autoconf และ automake ขั้นตอนการสร้างเหมือนกับจาก tarball ยกเว้นขั้นตอนแรกที่ต้องสร้างสคริปต์ configure ก่อน หากต้องการติดตั้งไปยัง/usr/local ให้ทำดังนี้:
git clone https://github.com/tmux/tmux.git
cd tmux
sh autogen.sh
./configure
make && sudo make install
ตัวเลือกการตั้งค่า configure
tmux มีตัวเลือกการตั้งค่า configure หลายตัว:| Option | คำอธิบาย |
|----------------------|--------------------------------------------------|
| --enable-debug | สร้างพร้อมสัญลักษณ์ดีบัก |
| --enable-static | สร้างไบนารีแบบคงที่ |
| --enable-utempter | ใช้ไลบรารี utempter หากมีการติดตั้ง |
| --enable-utf8proc | ใช้ไลบรารี utf8proc หากมีการติดตั้ง |
ทราบว่า --enable-static อาจต้องการไลบรารีแบบคงที่ที่ติดตั้งไว้ เช่น บน RHEL หรือ CentOS จำเป็นต้องมีแพ็คเกจ glibc-static
ปัญหาที่พบบ่อย
configure แจ้งว่า: libevent ไม่พบหรือ ncurses ไม่พบ
ไลบรารี libevent หรือส่วนหัวของมันไม่ได้ติดตั้ง ให้ตรวจสอบว่าแพ็คเกจที่เหมาะสมได้รับการติดตั้งแล้ว (บางแพลตฟอร์มแบ่งไลบรารีและส่วนหัวออกเป็นแพ็คเกจ-dev หรือ -devel)
configure แจ้งว่า: ต้องระบุ --enable-utf8proc หรือ --disable-utf8proc
การสนับสนุน UTF-8 ในตัว macOS ที่ติดตั้งมาพร้อมเครื่องมีคุณภาพต่ำ ดังนั้นจึงแนะนำให้ใช้ไลบรารี utf8proc หากเป็นไปได้ หลังจากติดตั้งแล้ว ให้ส่ง --enable-utf8proc ไปยัง configure
หากต้องการบังคับให้ tmux สร้างโดยไม่ใช้ utf8proc ให้ใช้ --disable-utf8proc
tmux ไม่สามารถทำงานจาก ~/local
บน Linux ให้ตรวจสอบว่าตัวแปร LD_LIBRARY_PATH ถูกตั้งค่า หรือลองสร้างแบบคงที่แทนโดยให้ --enable-static กับ configure
autogen.sh รายงานข้อผิดพลาดเกี่ยวกับ AM_BLAH หรือ PKG_MODULES
ตรวจสอบว่า pkg-config ได้รับการติดตั้งแล้วconfigure แจ้งว่า: คอมไพเลอร์ C ไม่สามารถสร้างไฟล์ที่สามารถทำงานได้
หรือไม่มีคอมไพเลอร์ C (gcc, clang) ที่ติดตั้งอยู่ หรือมันทำงานไม่ถูกต้อง ตรวจสอบว่าไม่มีบางสิ่งที่ไร้สาระอยู่ในCFLAGS หรือ CPPFLAGS
การสร้างล้มเหลวด้วยข้อผิดพลาดเกี่ยวกับ "conflicting type for forkpty"
สำหรับการสร้างแบบคงที่ ให้ตรวจสอบว่ามีไลบรารี libc แบบคงที่พร้อมใช้งาน บน RHEL หรือ CentOS จำเป็นต้องมีแพ็คเกจglibc-static
แพ็คเกจ AppImage
คำแนะนำและสคริปต์ในการสร้างแพ็คเกจ AppImage สำหรับ tmux มีให้จาก Nelson Enzo ที่นี่ นอกจากนี้ยังมีแพ็คเกจ AppImage ที่สร้างไว้ล่วงหน้าอีกด้วยสคริปต์ Docker
มีสคริปต์ติดตั้ง Docker ที่นี่แพ็คเกจ RPM สำหรับ Red Hat Enterprise Linux / CentOS
แพ็คเกจ tmux ที่มีจากคลังหลักมักจะล้าสมัย โดยเฉพาะในการสนับสนุนระยะยาว สามารถดาวน์โหลด RPM สำหรับเวอร์ชัน tmux ใหม่ได้จากที่นี่ตัวอย่างการตั้งค่าคลังและติดตั้งบน RHEL8:
sudo yum install http://galaxy4.net/repo/galaxy4-release-8-current.noarch.rpm
sudo yum install tmux
หรือติดตั้ง RPM โดยตรงบน RHEL6:
sudo rpm -ivh http://galaxy4.net/repo/RHEL/6/x86_64/tmux-3.1b-2.el6.x86_64.rpm
วิธีการใช้คลังจะช่วยให้ได้รับการอัปเดตแพ็คเกจในอนาคตโดยอัตโนมัติ ดูหน้านี้สำหรับรายละเอียดเพิ่มเติม