{"id":20017512,"url":"https://github.com/kb2623/linux-settings","last_synced_at":"2026-02-27T19:08:59.367Z","repository":{"id":80634960,"uuid":"64740037","full_name":"kb2623/linux-settings","owner":"kb2623","description":"Nastavitve za linux programe.","archived":false,"fork":false,"pushed_at":"2025-03-06T00:51:08.000Z","size":36865,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-08T13:50:02.242Z","etag":null,"topics":["awesomewm","i3wm","linux","linux-settings","navodila","pane","settings","shell","terminal-theme","tmux"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kb2623.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-02T08:42:52.000Z","updated_at":"2025-03-06T00:51:30.000Z","dependencies_parsed_at":"2024-11-30T14:38:54.473Z","dependency_job_id":null,"html_url":"https://github.com/kb2623/linux-settings","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kb2623%2Flinux-settings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kb2623%2Flinux-settings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kb2623%2Flinux-settings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kb2623%2Flinux-settings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kb2623","download_url":"https://codeload.github.com/kb2623/linux-settings/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252408430,"owners_count":21743120,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesomewm","i3wm","linux","linux-settings","navodila","pane","settings","shell","terminal-theme","tmux"],"created_at":"2024-11-13T08:16:03.990Z","updated_at":"2026-02-27T19:08:54.330Z","avatar_url":"https://github.com/kb2623.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# linux-settings\n\nNastavitve za linux programe.\n\n# Installation\n\n```bash\nwget https://raw.githubusercontent.com/kb2623/linux-settings/master/configure\nbash configure\nmake\n```\n\n# Git navodila\n\n## Git global setup\n\n```bash\ngit config --global user.name \"user\"\ngit config --global user.email \"user@mail.com\"\n```\n\n## Git user home dir\n\n```bash\ngit init\ngit remote add origin https://github.com/kb2623/linux-settings.git \ngit fetch\ngit submodule update --init --recursive\n```\n\n## Git ukaz za podmodule\n\n### Inicializacija in prenos\n\n```bash\ngit submodule update --init --recursive\n```\n\n### Prenos inicializiranih\n\n```bash\ngit submodule update --recursive --remote\n```\n\n### Prenos master brancha\n\n```bash\ngit submodule foreach git merge origin master\n```\n\n# Dodatne nastavitve\n\n## Firefox\n\n### How to disable WebRTC in Firefox?\n\nIn short: Set `media.peerconnection.enabled` to `false` in `about:config`.\n\n* Explained:\n 1. Enter `about:config` in the firefox address bar and press enter.\n 2. Press the button \"I'll be careful, I promise!\"\n 3. Search for `media.peerconnection.enabled`\n 4. Double click the entry, the column `Value` should now be `false`\n 5. Done. Do the WebRTC leak test again.\n* If you want to make sure every single WebRTC related setting is really disabled change these settings:\n * `media.peerconnection.turn.disable = true`\n * `media.peerconnection.use_document_iceservers = false`\n * `media.peerconnection.video.enabled = false`\n * `media.peerconnection.identity.timeout = 1`\n\nNow you can be 100% sure WebRTC is disabled.\n\n### Privacy Related \"about:config\" Tweaks\n\n* `privacy.firstparty.isolate = true` -\u003e A result of the Tor Uplift effort, this preference isolates all browser identifier sources (e.g. cookies) to the first party domain, with the goal of preventing tracking across different domains. (Don't do this if you are using the Firefox Addon \"Cookie AutoDelete\" with Firefox v58 or below.)\n* `privacy.resistFingerprinting = true` -\u003e A result of the Tor Uplift effort, this preference makes Firefox more resistant to browser fingerprinting.\n* `privacy.trackingprotection.fingerprinting.enabled = true` -\u003e Blocks Fingerprinting\n* `privacy.trackingprotection.cryptomining.enabled = true` -\u003e Blocks CryptoMining\n* `privacy.trackingprotection.enabled = true` -\u003e This is Mozilla's new built-in tracking protection. It uses Disconnect.me filter list, which is redundant if you are already using uBlock Origin 3rd party filters, therefore you should set it to false if you are using the add-on functionalities.\n* `browser.cache.offline.enable = false` -\u003e Disables offline cache.\n* `browser.safebrowsing.malware.enabled = false` -\u003e Disable Google Safe Browsing malware checks. Security risk, but privacy improvement.\n* `browser.safebrowsing.phishing.enabled = false` -\u003e Disable Google Safe Browsing and phishing protection. Security risk, but privacy improvement.\n* `browser.send_pings = false` -\u003e The attribute would be useful for letting websites track visitors' clicks.\n* `browser.sessionstore.max_tabs_undo = 0` -\u003e Even with Firefox set to not remember history, your closed tabs are stored temporarily at Menu -\u003e History -\u003e Recently Closed Tabs.\n* `browser.urlbar.speculativeConnect.enabled = false` -\u003e Disable preloading of autocomplete URLs. Firefox preloads URLs that autocomplete when a user types into the address bar, which is a concern if URLs are suggested that the user does not want to connect to Source\n* `dom.battery.enabled = false` -\u003e The battery status of your device could be tracked.\n* `dom.event.clipboardevents.enabled = false` -\u003e Disable that websites can get notifications if you copy, paste, or cut something from a web page, and it lets them know which part of the page had been selected.\n* `geo.enabled = false` -\u003e Disables geolocation.\n* `media.eme.enabled = false` -\u003e Disables playback of DRM-controlled HTML5 content, which, if enabled, automatically downloads the Widevine Content Decryption Module provided by Google Inc. Details DRM-controlled content that requires the Adobe Flash or Microsoft Silverlight NPAPI plugins will still play, if installed and enabled in Firefox.\n* `media.gmp-widevinecdm.enabled = false` -\u003e Disables the Widevine Content Decryption Module provided by Google Inc., used for the playback of DRM-controlled HTML5 content. Details\n* `media.navigator.enabled = false` -\u003e Websites can track the microphone and camera status of your device.\n* `network.cookie.cookieBehavior = 1` -\u003e Disable cookies\n  * 0 = Accept all cookies by default\n  * 1 = Only accept from the originating site (block third-party cookies)\n  * 2 = Block all cookies by default\n* `network.cookie.lifetimePolicy = 2` -\u003e cookies are deleted at the end of the session\n  * 0 = Accept cookies normally\n  * 1 = Prompt for each cookie\n  * 2 = Accept for current session only\n  * 3 = Accept for N days\n* `network.http.referer.trimmingPolicy = 2` -\u003e Send only the scheme, host, and port in the Referer header\n  * 0 = Send the full URL in the Referer header\n  * 1 = Send the URL without its query string in the Referer header\n  * 2 = Send only the scheme, host, and port in the Referer header\n* `network.http.referer.XOriginPolicy = 2` -\u003e Only send Referer header when the full hostnames match. (Note: if you notice significant breakage, you might try 1 combined with an XOriginTrimmingPolicy tweak below.) Source\n  * 0 = Send Referer in all cases\n  * 1 = Send Referer to same eTLD sites\n  * 2 = Send Referer only when the full hostnames match\n* `network.http.referer.XOriginTrimmingPolicy = 2` -\u003e When sending Referer across origins, only send scheme, host, and port in the Referer header of cross-origin requests. Source\n  * 0 = Send full url in Referer\n  * 1 = Send url without query string in Referer\n  * 2 = Only send scheme, host, and port in Referer\n* `webgl.disabled = true` -\u003e WebGL is a potential security risk. Source\n* `browser.sessionstore.privacy_level = 2` -\u003e This preference controls when to store extra information about a session: contents of forms, scrollbar positions, cookies, and POST data. Details\n  * 0 = Store extra session data for any site. (Default starting with Firefox 4.)\n  * 1 = Store extra session data for unencrypted (non-HTTPS) sites only. (Default before Firefox 4.)\n  * 2 = Never store extra session data.\n* `extensions.pocket.enabled = false` -\u003e Disables Pocket completely.\n* `network.IDN_show_punycode = true` -\u003e Not rendering IDNs as their Punycode equivalent leaves you open to phishing attacks that can be very difficult to notice. Source\n`extensions.blocklist.url = https://blocklists.settings.services.mozilla.com/v1/blocklist/3/%20/%20/`. Limit the amount of identifiable information sent when requesting the Mozilla harmful extension blocklist. \n\n### userChrome.css\n\n```css\n@namespace url(\"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\"); /* only needed once */\n\n#TabsToolbar { height:25px!important; margin-top:-1px!important; margin-bottom:1px!important; }\n#tabbrowser-tabs { height:25px!important; min-height:25px!important; }\n\n.tab-background-start[selected=true]::after,\n.tab-background-start[selected=true]::before,\n.tab-background-start,\n.tab-background-end,\n.tab-background-end[selected=true]::after,\n.tab-background-end[selected=true]::before {\n  min-height:25px!important;\n}\n\n#VimFxMarkersContainer .marker {\n  font-size: 15px !important; /* Specific font size. */\n  text-transform: uppercase !important; \n}\n```\n\n# Accessing vncserver via SSH tunnels\n\nFor servers offering SSH connection, an advantage of this method is that it is not necessary to open any other port than the already opened SSH port to the outside, since the VNC traffic is tunneled through the SSH port.\n\n## On the server\n\nOn the server side, `vncserver` or `x0vncserver` must be run.\n\nWhen running either one of these, it is recommended to use the -localhost switch way since it allows connections from the localhost only and by analogy, only from users ssh'ed and authenticated on the box. For example run a command such as:\n\n```\n$ vncserver -localhost\n```\n\nor for x0vncserver:\n\n```\n$ x0vncserver -localhost -SecurityTypes none\n```\n\n## On the client\n\nThe VNC server has been setup on the remote machine to only accept local connections. Now, the client must open a secure shell with the remote machine (`10.1.10.2` in this example) and create a tunnel from the client port, for instance `9901`, to the remote server `5901` port.\n\n```\n$ ssh 10.1.10.2 -L 9901:localhost:5901\n```\n\nOnce connected via SSH, leave this shell window open since it is acting as the secured tunnel with the server. Alternatively, directly run SSH in the background using the `-f` option. On the client side, to connect via this encrypted tunnel, point the `vncviewer` to the forwarded client port on the **localhost**.\n\n```\n$ vncviewer localhost:9901\n```\n\nWhat happens in practice is that the vncviewer connects locally to port 9901 which is tunneled to the server's localhost port 5901. The connection is established to the right port within the secure shell.\n\n### Tip\n\nIt is possible, with a one-liner, to keep the port forwarding active during the connection and close it right after:\n\n```\n$ ssh -fL 9901:localhost:5901 10.1.10.2 sleep 10; vncviewer localhost:9901\n```\n\nWhat it does is that the `-f` switch will make `ssh` go in the background, it will still be alive executing `sleep 10`. `vncviewer` is then executed and ssh remains open in the background as long as `vncviewer` makes use of the tunnel. ssh will close once the tunnel is dropped which is the wanted behavior.\n\n## Connecting to a vncserver from Android devices over SSH\n\nTo connect to a VNC server over SSH using an Android device as a client, consider having the following setup: \n\n* SSH running on the server\n* `vncserver` running on server (with `-localhost` flag for security)\n* SSH client on the Android device: **ConnectBot** is a popular choice and will be used in this guide as an example\n* VNC client on the Android device: **androidVNC** used here\n\nIn **ConnectBot**, connect to the desired machine. Tap the options key, select Port Forwards and add a port:\n\n```\nType: Local\nSource port: 5901\nDestination: 127.0.0.1:5901\n```\n\nIn **androidVNC** connect to the VNC port, this is the local address following the SSH connection:\n\n```\nPassword: the vncserver password\nAddress: 127.0.0.1\nPort: 5901\n```\n\n# tmux cheatsheet\n\nAs configured in [my dotfiles](https://github.com/henrik/dotfiles/blob/master/tmux.conf).\n\nstart new:\n\n```bash\ntmux\n```\n\nstart new with session name:\n\n```bash\ntmux new -s myname\n```\n\nattach:\n\n```bash\ntmux a  #  (or at, or attach)\n```\n\nattach to named:\n\n```bash\ntmux a -t myname\n```\n\nlist sessions:\n\n```bash\ntmux ls\n```\n\nkill session:\n\n```bash\ntmux kill-session -t myname\n```\n\nIn tmux, hit the prefix `ctrl+b` and then:\n\n## Sessions\n\n```text\n:new\u003cCR\u003e  new session\ns  list sessions\n$  name session\n```\n\n## Windows (tabs)\n\n```text\nc           new window\n,           name window\nw           list windows\nf           find window\n\u0026           kill window\n.           move window - prompted for a new number\n:movew\u003cCR\u003e  move window to the next unused number\n```\n\n## Panes (splits)\n\n```text\n|  horizontal split\n-  vertical split\n\no  swap panes\nq  show pane numbers\nx  kill pane\n⍽  space - toggle between layouts\n```\n\n## Window/pane surgery\n\n```text\n:joinp -s :2\u003cCR\u003e  move window 2 into a new pane in the current window\n:joinp -t :1\u003cCR\u003e  move the current pane into a new pane in window 1\n```\n\n* [Move window to pane](http://unix.stackexchange.com/questions/14300/tmux-move-window-to-pane)\n* [How to reorder windows](http://superuser.com/questions/343572/tmux-how-do-i-reorder-my-windows)\n\n## Misc\n\n```text\nd  detach\nt  big clock\n?  list shortcuts\n:  prompt\n```\n\nResources:\n\n* [cheat sheet](http://cheat.errtheblog.com/s/tmux/)\n\nNotes:\n\n* You can cmd+click URLs to open in iTerm.\n\nTODO:\n\n* Conf copy mode to use system clipboard. See PragProg book.\n\n# SSL\n\n## Create key\n\n```bash\nopenssl genrsa -des3 -out [file.key] 2048\n```\n\n## Decript key\n\n```bash\nopenssl rsa -in [file1.key] -out [file2.key]\n```\n\n## Create certificat\n\n```bash\nopenssl req -x509 -new -nodes -key [file.key] -sha256 -days 1024  -out [file.pem]\n```\n\n# Kitty\n\n## xterm-kitty: unknown terminal type\n\nn order to copy over a terminfo file to your remote host’s `~/.terminfo` folder, run the following:\n\n```\nkitty +kitten ssh \"your.remote.server\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkb2623%2Flinux-settings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkb2623%2Flinux-settings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkb2623%2Flinux-settings/lists"}