git clone https://github.com/searxng/searxng.git
cd searxng
make run # (Instalará todas las dependencias dentro de un virtualenv)
Fijate si el puerto esta abierto.
ss -tulpn | grep 8888
Ahora podes usarlo con tu navegador de consola favorito: w3m, links, lynx, links -g (con soporte framebuffer), etc. o con IceCat (con LibreJS), falkon, angelfish, otter-browser, cualquiera sea el navegador que usas.
Para hacer que SearXNG se inicie automáticamente al bootear tu sistema Arch Linux, necesitas crear un servicio de systemd. Aquí te muestro cómo hacerlo:
Crea un archivo de servicio en /etc/systemd/system/searxng.service:
sudo vim /etc/systemd/system/searxng.service
Agrega el siguiente contenido (ajusta las rutas según tu configuración):
[Unit]
Description=SearXNG metasearch engine
After=network.target
[Service]
Type=simple
User=tu_usuario
WorkingDirectory=/ruta/completa/a/searxng
ExecStart=/usr/bin/make run
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
Reemplaza:
tu_usuario con tu nombre de usuario/ruta/completa/a/searxng con la ruta absoluta a tu directorio searxng (usa pwd dentro del directorio para obtenerla)# Recargar systemd para que reconozca el nuevo servicio
sudo systemctl daemon-reload
# Habilitar el servicio para que inicie al bootear
sudo systemctl enable searxng.service
# Iniciar el servicio ahora
sudo systemctl start searxng.service
# Ver el estado del servicio
sudo systemctl status searxng.service
# Ver los logs si hay problemas
sudo journalctl -u searxng.service -f
# Detener el servicio
sudo systemctl stop searxng.service
# Reiniciar el servicio
sudo systemctl restart searxng.service
# Deshabilitar inicio automático
sudo systemctl disable searxng.service
Si tienes problemas con permisos o el servicio no inicia correctamente, avísame y te ayudo a ajustar la configuración.
Great choice using SearXNG (the maintained fork) with w3m! Here’s how to configure it for fewer images and optimize for console browsing:
Edit your settings.yml (usually in /etc/searxng/settings.yml or ~/.config/searxng/settings.yml):
search:
default_results_per_page: 20 # Adjust as needed
ui:
results_on_new_tab: false
infinite_scroll: false
engines:
# Disable or reduce priority of image engines
- name: bing images
disabled: true
- name: google images
disabled: true
- name: flickr
disabled: true
1. Create a custom searx wrapper script:
#!/bin/bash
# Save as ~/bin/searx
SEARX_URL="http://localhost:8888"
QUERY="$*"
w3m "${SEARX_URL}/search?q=${QUERY// /+}&category_general=1&language=en&time_range=&safesearch=0&theme=simple"
Make it executable: chmod +x ~/bin/searx
2. Use the “simple” theme - it’s perfect for console browsers:
http://localhost:8888/preferences3. w3m configuration (~/.w3m/config):
display_image 0
auto_image 0
max_load_image 0
4. URL patterns for quick searches:
Add to ~/.w3m/urimethodmap:
searx: file:/cgi-bin/searx.cgi?%s
5. Filter images via URL parameter:
Access SearXNG with: http://localhost:8888/search?q=YOUR_QUERY&categories=general
Avoid &categories=images to skip image results.
6. Custom CSS for minimal display:
In SearXNG’s settings.yml:
ui:
static_use_hash: false
custom_css: "/custom.css"
Create minimal CSS that hides image previews and thumbnails.
!g query (Google), !ddg query (DuckDuckGo), !w query (Wikipedia)ESC-M to open URL in external browser if needed/etc/w3m/config and set cgi_bin path&format=json or &format=csv in URL for parseable output you can pipe to other toolsWant help with any specific configuration or setting up custom engines?
search:
default_results_per_page: 20
formats:
- html
- json
ui:
results_on_new_tab: false
infinite_scroll: false
theme: simple
center_alignment: false
You’re very close 🙂 — the problem is that your systemd user service file is incomplete, and systemd is rejecting it.
Let’s do this cleanly and correctly for SearXNG as a user service on Arch.
Your current searx.service is missing required sections and best practices:
❌ Missing [Unit] section
❌ No Type= specified
❌ User= is not needed in --user services
❌ make run is not ideal for systemd (it’s interactive / foreground tooling)
Systemd responds with:
failed to load properly / Device or resource busy
You are already in the right directory:
cd ~/.config/systemd/user
vim searx.service
[Unit]
Description=SearXNG metasearch engine
After=network.target
[Service]
Type=simple
WorkingDirectory=/home/esotericwarfare/searxng
ExecStart=/home/esotericwarfare/searxng/.venv/bin/python -m searx.webapp
Restart=on-failure
RestartSec=5
[Install]
WantedBy=default.target
⚠️ Important notes
make run is not recommended for systemdFrom your SearXNG directory:
cd ~/searxng
ls .venv/bin/python
If it does not exist:
python -m venv .venv
source .venv/bin/activate
pip install -e .
systemctl --user daemon-reload
systemctl --user enable searx.service
systemctl --user start searx.service
systemctl --user status searx.service
journalctl --user -u searx.service -f
If it fails, the log will now tell us exactly why.
SearXNG defaults to 127.0.0.1:8888
Check:
ss -tulpn | grep 8888
settings.ymlEnsure:
~/searxng/searx/settings.yml
If missing:
cp searx/settings.yml.example searx/settings.yml
User services stop when you log out unless you enable lingering:
loginctl enable-linger esotericwarfare
vim ~/.config/systemd/user/searx.service
systemctl --user daemon-reload
systemctl --user enable --now searx
systemctl --user status searx
If you want, tell me:
I’ll tailor the service exactly to your setup.