Unix & Linux Stack Exchange
Q&A for users of Linux, FreeBSD and other Unix-like operating systems
Latest Questions
1
votes
1
answers
42
views
Using vi :s to swap a captured word to end of line
In VI I have a series of lines like al xxe fl e ~ ] ~ stand ~ sneak ~ w ~ slit % That I'd like to look like this: al xxe ] ~ stand ~ sneak ~ w ~ slit % ~ fl e It's only 8 lines, so I'll probably do it by hand before I get an answer, but it's the principle of the thing. I've learned a lot about :s re...
In VI I have a series of lines like
al xxe fl e ~ ] ~ stand ~ sneak ~ w ~ slit %
That I'd like to look like this:
al xxe ] ~ stand ~ sneak ~ w ~ slit % ~ fl e
It's only 8 lines, so I'll probably do it by hand before I get an answer, but it's the principle of the thing. I've learned a lot about :s recently and feel like I should be able to do this. Another thing of note, I'm doing this in VSCode and some of the particulars of :s are different.
This is what I'm trying to do
:86,95s/(fl\w{1,2})/$ ~ \1/
Where I think $ should put me at EOL, but it just puts a $ where the pattern was matched.
Thanks!
Jimbus
(11 rep)
Jul 18, 2025, 12:19 AM
• Last activity: Jul 18, 2025, 03:11 AM
1
votes
1
answers
70
views
Issue with `BASH_LINENO` in bash function which get debugging information
In Visual Code, on Windows 10, I'm trying to create a function for my `.sh` project (*which I run with Git Bash*), which will report errors to the console in case user, let's say, provides fewer or more parameters for a function. For this reason, I created the file `error_report.sh` with the functio...
In Visual Code, on Windows 10, I'm trying to create a function for my
.sh
project (*which I run with Git Bash*), which will report errors to the console in case user, let's say, provides fewer or more parameters for a function.
For this reason, I created the file error_report.sh
with the function ErrorReport
.
#!/usr/bin/env bash
function ErrorReport()
{
local caller_func="${FUNCNAME}"
local caller_file="$(basename "${BASH_SOURCE}")"
local caller_line="${BASH_LINENO}"
local caller_code="$(sed -n "${caller_line}p" "${BASH_SOURCE}" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')"
printf "\nCaller: ${caller_func}()"
printf "\nFile : ${caller_file}"
printf "\nLine : ${caller_line}"
printf "\nCode : ${caller_code}"
}
As main file of my project, I have temporarily created the tester_copy.sh
where I have the following:
#!/usr/bin/env bash
declare -g script_dir="$(cd "$(dirname "${BASH_SOURCE}")" && pwd)"
source "${script_dir}/lib/ui/window_manager.sh"
source "${script_dir}/error_report.sh"
function TestFunction()
{
if [[ "$#" -ne 3 ]]; then
ErrorReport
return 1
fi
local arg1="$1"
local arg2="$2"
local arg3="$3"
echo "arguments: $arg1, $arg2, $arg3"
}
function Main()
{
ConsoleWindowSetup "${MMS_WINDOW_TITLE}" 40 120
clear
TestFunction "11111" "22222"
read -re -p ""
}
Main "$@"
The problem is that in my console, displays Caller
and File
correctly, but Line
and Code
incorrectly.
Instead of displaying Line: 28
and Code: TestFunction "11111" "22222"
, it displays:
Caller: Main()
File : tester_copy.sh
Line : 6
Code : source "${script_dir}/error_report.sh"
But if I change my main script to:
#!/usr/bin/env bash
declare -g script_dir="$(cd "$(dirname "${BASH_SOURCE}")" && pwd)"
source "${script_dir}/lib/ui/window_manager.sh"
source "${script_dir}/error_report.sh"
function TestFunction()
{
if [[ "$#" -ne 3 ]]; then
ErrorReport
return 1
fi
local arg1="$1"
local arg2="$2"
local arg3="$3"
echo "Λήφθηκαν τα arguments: $arg1, $arg2, $arg3"
}
ConsoleWindowSetup "${MMS_WINDOW_TITLE}" 40 120
clear
TestFunction "11111" "22222"
read -re -p ""
If I take the main code outside the function Main()
, then it displays correctly in the console...
Caller: main()
File : tester_copy.sh
Line : 28
Code : TestFunction "11111" "22222"
Which I don't want though because ErrorReport
is intended for errors inside functions.
Why is this happening and how can I make it work when the error is inside a function?
##### Debugging (17/05/2025)
* If I copy the whole .sh
project into my Ubuntu Server it works even if the error is inside a function.
* It also works using WSL.
* I am almost sure that the problem happens only if I run the .sh
file from Windows, by just double clicking on it. In any other case, works fine.
##### Debugging (18/05/2025)
The default application on this Windows computer to open .sh
files is "C:\Program Files\Git\git-bash.exe". When I open my .sh
file by double-clicking, the problem I mentioned occurs. However, if I try running it by dragging the file to "C:\Program Files\Git\bin\bash.exe", "C:\Program Files\Git\bin\sh.exe" or "C:\Program Files\Git\git-bash.exe", it works fine in all three!
I tried creating a shortcut with the target "C:\Program Files\Git\git-bash.exe" --cd="C:\Users\***\Desktop\PROGRAMMING\SH\sigma_sh_lib" -c "./tester_copy.sh"
and it also works fine!
Then I created a function to get debug shell info...
DebugShellInfo() {
echo "================= DEBUG INFO ================="
printf "🔹 Shell Script Name : %s\n" "$0"
printf "🔹 Declared Interpreter : %s\n" "${SHELL:-}"
printf "🔹 Bash Version : %s\n" "${BASH_VERSION:-}"
# FUNCNAME stack
printf "🔹 FUNCNAME Stack :"
if [[ ${#FUNCNAME[@]} -eq 0 ]]; then
echo " "
else
echo " ${FUNCNAME}"
for ((i = 1; i "
else
echo " ${BASH_SOURCE}"
for ((i = 1; i "
else
echo " ${BASH_LINENO}"
for ((i = 1; i < ${#BASH_LINENO[@]}; i++)); do
printf " %s\n" "${BASH_LINENO[i]}"
done
fi
echo "=============================================="
}
Now, when I called it, I noticed the following. When it is called while the file is running by double-clicking it outputs...
================= DEBUG INFO =================
🔹 Shell Script Name : C:\Users\***\Desktop\PROGRAMMING\SH STUFF\sigma_sh_lib\tester_copy.sh
🔹 Declared Interpreter : /usr/bin/bash
🔹 Bash Version : 5.2.37(1)-release
🔹 FUNCNAME Stack : DebugShellInfo
MSG
MSG
Main
main
🔹 BASH_SOURCE Stack : /c/Users/***/Desktop/PROGRAMMING/SH STUFF/sigma_sh_lib/lib/utils/debug_shell_info.sh
/c/Users/***/Desktop/PROGRAMMING/SH STUFF/sigma_sh_lib/lib/ui/msg.sh
/c/Users/***/Desktop/PROGRAMMING/SH STUFF/sigma_sh_lib/lib/ui/msg.sh
C:\Users\***\Desktop\PROGRAMMING\SH STUFF\sigma_sh_lib\tester_copy.sh
C:\Users\***\Desktop\PROGRAMMING\SH STUFF\sigma_sh_lib\tester_copy.sh
🔹 BASH_LINENO Stack : 130
1
14
70
0
==============================================
But when it is called with the other ways I mentioned above, it outputs...
================= DEBUG INFO =================
🔹 Shell Script Name : ./tester_copy.sh
🔹 Declared Interpreter : /usr/bin/bash
🔹 Bash Version : 5.2.37(1)-release
🔹 FUNCNAME Stack : DebugShellInfo
MSG
MSG
Main
main
🔹 BASH_SOURCE Stack : /c/Users/***/Desktop/PROGRAMMING/SH STUFF/sigma_sh_lib/lib/utils/debug_shell_info.sh
/c/Users/***/Desktop/PROGRAMMING/SH STUFF/sigma_sh_lib/lib/ui/msg.sh
/c/Users/***/Desktop/PROGRAMMING/SH STUFF/sigma_sh_lib/lib/ui/msg.sh
./tester_copy.sh
./tester_copy.sh
🔹 BASH_LINENO Stack : 194
95
60
70
0
==============================================
Notice the differences in the "Shell Script Name" paths and in "BASH_SOURCE Stack" and "BASH_LINENO Stack" paths!!!
**Note**: I moved the code of ErrorReport
function into a function called MSG
.
Simos Sigma
(111 rep)
May 17, 2025, 09:04 AM
• Last activity: May 19, 2025, 07:43 AM
5
votes
1
answers
2376
views
How to set the default application to open folders?
I'm really stuck; I want to add `Open with vs code` to the folders context menu following the same approach as for files by means of the so-called MIME; editing the file `~/.config/mimeapps.list` allows me to change default applications for different file extensions. My preferred default application...
I'm really stuck;
I want to add
Open with vs code
to the folders context menu following the same approach as for files by means of the so-called MIME; editing the file ~/.config/mimeapps.list
allows me to change default applications for different file extensions.
My preferred default application is VS Code; I found inode/directory
is the file type for a directory in MIME, so I added this line inode/directory=code-insiders.desktop
to the file ~/.config/mimeapps.list
in [Default Applications] field but Open with vs code
doesn't show as I right-click on folders.
I can confirm what I did makes sense by showing the output of this command gio mime inode/directory
:
Default application for “inode/directory”: code-insiders.desktop
Registered applications:
code-insiders.desktop
org.gnome.Nautilus.desktop
org.gnome.baobab.desktop
Recommended applications:
code-insiders.desktop
org.gnome.Nautilus.desktop
org.gnome.baobab.desktop
Similarly, the output of gio mime text/plain
by which the corresponding files context menu appears Open with vs
option is
Default application for “text/plain”: code-insiders.desktop
Registered applications:
code-insiders.desktop
libreoffice-writer.desktop
org.gnome.gedit.desktop
vim.desktop
Recommended applications:
code-insiders.desktop
libreoffice-writer.desktop
org.gnome.gedit.desktop
vim.desktop
The default application for opening text files by right-clicking shows Open with vs
but not the case for folders.
EnthusiastiC
(163 rep)
Oct 28, 2022, 10:25 AM
• Last activity: May 11, 2025, 05:03 AM
4
votes
1
answers
2492
views
XAUTHORITY environment value is not a clean path
I am having trouble opening VS Code from my VM running on Ubuntu 16.04. When I try to open it from the terminal, I get the error: > WARNING: XAUTHORITY environment value is not a clean path: "/some/path/.Xauthority" cannot open path of the current working directory: Permission denied I don't know mu...
I am having trouble opening VS Code from my VM running on Ubuntu 16.04. When I try to open it from the terminal, I get the error:
> WARNING: XAUTHORITY environment value is not a clean path: "/some/path/.Xauthority"
cannot open path of the current working directory: Permission denied
I don't know much about what .Xauthority is, so unfortunately that is about all the information I can provide. The path seems legitimate, but if someone could help me out, that would be great.
pilars32
(41 rep)
Mar 24, 2020, 07:48 PM
• Last activity: Apr 9, 2025, 09:04 PM
0
votes
1
answers
39
views
How to split VSCode editor as attached screenshot?
Somehow the Microsoft Visual Studio Code editor zone is split horizontally as in the screenshot that just shows a blue line without the filename. [![enter image description here][1]][1] I tried clicking the option to split editor but it doesn't show the same as the screenshot. [

Jack
(99 rep)
Mar 12, 2025, 03:22 AM
• Last activity: Mar 12, 2025, 07:31 AM
0
votes
2
answers
2359
views
installing .Net dotnet on debian
I downloaded ./dotnet-install.sh and successfully installed: $ ./dotnet-install.sh -c Current dotnet-install: Note that the intended use of this script is for Continuous Integration (CI) scenarios, where: dotnet-install: - The SDK needs to be installed without user interaction and without admin righ...
I downloaded ./dotnet-install.sh and successfully installed:
$ ./dotnet-install.sh -c Current
dotnet-install: Note that the intended use of this script is for Continuous Integration (CI) scenarios, where:
dotnet-install: - The SDK needs to be installed without user interaction and without admin rights.
dotnet-install: - The SDK installation doesn't need to persist across multiple CI runs.
dotnet-install: To set up a development environment or to run apps, use installers rather than this script. Visit https://dotnet.microsoft.com/download to get the installer.
dotnet-install: .NET Core SDK version 5.0.207 is already installed.
dotnet-install: Adding to current process PATH:
/home/tesla/.dotnet
. Note: This change will be visible only when sourcing script.
dotnet-install: Note that the script does not resolve dependencies during installation.
dotnet-install: To check the list of dependencies, go to https://docs.microsoft.com/dotnet/core/install , select your operating system and check the "Dependencies" section.
dotnet-install: Installation finished successfully.
I added path
└─$ export PATH=$PATH:/home/tesla/.dotnet
dotnet --version
5.0.207
I have two issues:
First, everytime I restart the PC, I need to reinstall
Second vs code terminal does not see dotnet --version command:
"Command 'dotnet' not found, but can be installed with:
sudo snap install dotnet-sdk # version 5.0.401, or
sudo apt install dotnet-host
See 'snap info dotnet-sdk' for additional versions. "
If I set the path on vscode terminal, after re staring the vscode, it does not recognize dotnet command
Yilmaz
(417 rep)
Sep 20, 2021, 07:01 AM
• Last activity: Oct 25, 2024, 04:02 PM
0
votes
2
answers
811
views
vscode with jupyter with archlinux
I am trying to install and use vscode with jupyter extension for coding with python on my archlinux OS. but it does not found any kernel interpreter I installed both jupyter and python extension in vscode and tried many staff suggested on the internet, as ""enable-proposed-api": ["ms-toolsai.jupyter...
I am trying to install and use vscode with jupyter extension for coding with python on my archlinux OS. but it does not found any kernel interpreter
I installed both jupyter and python extension in vscode and tried many staff suggested on the internet, as
""enable-proposed-api": ["ms-toolsai.jupyter"]" in the argv.json
and "create environment"
the result is always the same, jupyter file is corrected opened but when i tried to select kernel, vscode keep searching.
can someone sugggest me something?
Thanks in advances, cheers!
eugenio b
(41 rep)
Jul 1, 2023, 10:19 PM
• Last activity: Sep 30, 2024, 08:18 AM
0
votes
0
answers
38
views
Duplicated instance of VSCodium in Awesome WM with Tyrannical
I'm using [Awesome WM](https://awesomewm.org/) (v4.3) with [Tyrannical plugin](https://github.com/Elv13/tyrannical) on Debian 12 and I observe an unexpected behavior of VSCodium. Using the following configuration (in `rc.lua` config file of Awesome WM), when I start a new instance of a software, for...
I'm using [Awesome WM](https://awesomewm.org/) (v4.3) with [Tyrannical plugin](https://github.com/Elv13/tyrannical) on Debian 12 and I observe an unexpected behavior of VSCodium.
Using the following configuration (in
rc.lua
config file of Awesome WM), when I start a new instance of a software, for e.g. qterminal
, it opens **only in the current focused tag** even if it is allowed to open in another tag.
However, the behavior is different with VSCodium, i.e. when I start a new instance of VSCodium, the same instance opens in **all tags where the vscodium
instance is allowed** (tags "dev" AND "tex" below). In other words, it is the **same instance** which is **duplicated in all tags**.
-- tyrannical config : app on specific tag and screen with tyrannical
tyrannical.tags = {
{
name = "dev", -- Call the tag "dev"
init = true, -- Load the tag on startup
inclusive = true, -- Allow other instance than listed in "instance" below
screen = {1,2}, -- Create this tag on screen 1 and screen 2
layout = awful.layout.suit.tile, -- Use the tile layout
instance = { --Accept the following instance
"vscodium", "qterminal"}
} ,
{
name = "tex", -- Call the tag "tex"
init = true, -- Load the tag on startup
inclusive = true, -- Allow other instance than listed in "instance" below
screen = {1,2}, -- Create this tag on screen 1 and screen 2
layout = awful.layout.suit.tile, -- Use the tile layout
instance = { --Accept the following instance
"vscodium" , "qterminal"}
},
}
**Am I missing something ?**
**Any idea of why the two software behave differently and how to force VSCodium to act as qterminal does?**
Here is my entire rc.lua
config file of Awesome WM :
-- If LuaRocks is installed, make sure that packages installed through it are
-- found (e.g. lgi). If LuaRocks is not installed, do nothing.
pcall(require, "luarocks.loader")
-- Standard awesome library
local gears = require("gears")
local awful = require("awful")
require("awful.autofocus")
-- Widget and layout library
local wibox = require("wibox")
-- Theme handling library
local beautiful = require("beautiful")
-- Notification library
local naughty = require("naughty")
local menubar = require("menubar")
local hotkeys_popup = require("awful.hotkeys_popup")
-- Enable hotkeys help widget for VIM and other apps
-- when client with a matching name is opened:
require("awful.hotkeys_popup.keys")
local tyrannical = require("tyrannical")
-- Load Debian menu entries
local debian = require("debian.menu")
local has_fdo, freedesktop = pcall(require, "freedesktop")
-- {{{ Error handling
-- Check if awesome encountered an error during startup and fell back to
-- another config (This code will only ever execute for the fallback config)
if awesome.startup_errors then
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, there were errors during startup!",
text = awesome.startup_errors })
end
-- Handle runtime errors after startup
do
local in_error = false
awesome.connect_signal("debug::error", function (err)
-- Make sure we don't go into an endless error loop
if in_error then return end
in_error = true
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, an error happened!",
text = tostring(err) })
in_error = false
end)
end
-- }}}
-- {{{ Variable definitions
-- Themes define colours, icons, font and wallpapers.
beautiful.init(gears.filesystem.get_configuration_dir() .. "theme.lua")
-- This is used later as the default terminal and editor to run.
terminal = "x-terminal-emulator"
editor = os.getenv("EDITOR") or "editor"
editor_cmd = terminal .. " -e " .. editor
-- Default modkey.
-- Usually, Mod4 is the key with a logo between Control and Alt.
-- If you do not like this or do not have such a key,
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
-- However, you can use another modifier like Mod1, but it may interact with others.
modkey = "Mod4"
-- Table of layouts to cover with awful.layout.inc, order matters.
awful.layout.layouts = {
awful.layout.suit.tile,
awful.layout.suit.floating,
awful.layout.suit.tile.left,
awful.layout.suit.tile.bottom,
awful.layout.suit.tile.top,
--awful.layout.suit.fair,
--awful.layout.suit.fair.horizontal,
--awful.layout.suit.spiral,
--awful.layout.suit.spiral.dwindle,
awful.layout.suit.max,
--awful.layout.suit.max.fullscreen,
awful.layout.suit.magnifier,
--awful.layout.suit.corner.nw,
-- awful.layout.suit.corner.ne,
-- awful.layout.suit.corner.sw,
-- awful.layout.suit.corner.se,
}
-- }}}
-- {{{ Menu
-- Create a launcher widget and a main menu
myawesomemenu = {
{ "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
{ "manual", terminal .. " -e man awesome" },
{ "edit config", editor_cmd .. " " .. awesome.conffile },
{ "restart", awesome.restart },
{ "quit", function() awesome.quit() end },
}
local menu_awesome = { "awesome", myawesomemenu, beautiful.awesome_icon }
local menu_terminal = { "open terminal", terminal }
if has_fdo then
mymainmenu = freedesktop.menu.build({
before = { menu_awesome },
after = { menu_terminal }
})
else
mymainmenu = awful.menu({
items = {
menu_awesome,
{ "Debian", debian.menu.Debian_menu.Debian },
menu_terminal,
}
})
end
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
menu = mymainmenu })
-- Menubar configuration
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
-- }}}
-- Keyboard map indicator and switcher
mykeyboardlayout = awful.widget.keyboardlayout()
-- {{{ Wibar
-- Create a textclock widget
mytextclock = wibox.widget.textclock()
-- Keyboard map indicator and changer
local keyboard_layout = require("keyboard_layout")
local kbdcfg = keyboard_layout.kbdcfg({type = "tui"})
kbdcfg.add_primary_layout("Français", "FR", "fr")
kbdcfg.add_additional_layout("English", "US", "us")
kbdcfg.bind()
-- Create a wibox for each screen and add it
local taglist_buttons = gears.table.join(
awful.button({ }, 1, function(t) t:view_only() end),
awful.button({ modkey }, 1, function(t)
if client.focus then
client.focus:move_to_tag(t)
end
end),
awful.button({ }, 3, awful.tag.viewtoggle),
awful.button({ modkey }, 3, function(t)
if client.focus then
client.focus:toggle_tag(t)
end
end),
awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end),
awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end)
)
local tasklist_buttons = gears.table.join(
awful.button({ }, 1, function (c)
if c == client.focus then
c.minimized = true
else
c:emit_signal(
"request::activate",
"tasklist",
{raise = true}
)
end
end),
awful.button({ }, 3, function()
awful.menu.client_list({ theme = { width = 250 } })
end),
awful.button({ }, 4, function ()
awful.client.focus.byidx(1)
end),
awful.button({ }, 5, function ()
awful.client.focus.byidx(-1)
end))
local function set_wallpaper(s)
-- Wallpaper
if beautiful.wallpaper then
local wallpaper = beautiful.wallpaper
-- If wallpaper is a function, call it with the screen
if type(wallpaper) == "function" then
wallpaper = wallpaper(s)
end
gears.wallpaper.set("#400000")
-- gears.wallpaper.maximized(wallpaper, s, true)
end
end
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
screen.connect_signal("property::geometry", set_wallpaper)
awful.screen.connect_for_each_screen(function(s)
-- Wallpaper
set_wallpaper(s)
-- Each screen has its own tag table.
-- Create a promptbox for each screen
s.mypromptbox = awful.widget.prompt()
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
-- We need one layoutbox per screen.
s.mylayoutbox = awful.widget.layoutbox(s)
s.mylayoutbox:buttons(gears.table.join(
awful.button({ }, 1, function () awful.layout.inc( 1) end),
awful.button({ }, 3, function () awful.layout.inc(-1) end),
awful.button({ }, 4, function () awful.layout.inc( 1) end),
awful.button({ }, 5, function () awful.layout.inc(-1) end)))
-- Create a taglist widget
s.mytaglist = awful.widget.taglist {
screen = s,
filter = awful.widget.taglist.filter.all,
buttons = taglist_buttons
}
-- Create a tasklist widget
s.mytasklist = awful.widget.tasklist {
screen = s,
filter = awful.widget.tasklist.filter.currenttags,
buttons = tasklist_buttons
}
-- Create the wibox
s.mywibox = awful.wibar({ position = "top", screen = s })
-- Add widgets to the wibox
s.mywibox:setup {
layout = wibox.layout.align.horizontal,
{ -- Left widgets
layout = wibox.layout.fixed.horizontal,
mylauncher,
s.mytaglist,
s.mypromptbox,
},
s.mytasklist, -- Middle widget
{ -- Right widgets
layout = wibox.layout.fixed.horizontal,
mykeyboardlayout,
wibox.widget.systray(),
mytextclock,
s.mylayoutbox,
},
}
end)
-- }}}
-- tyrannical config : app on specific tag and screen with tyrannical
tyrannical.tags = {
{
name = "dev", -- Call the tag "dev"
init = true, -- Load the tag on startup
inclusive = true,
screen = {1,2}, -- Create this tag on screen 1 and screen 2
layout = awful.layout.suit.tile, -- Use the tile layout
instance = { --Accept the following classes, refuse everything else (because of "exclusive=true")
"vscodium", "qterminal"}
} ,
{
name = "tex", -- Call the tag "dev"
init = true, -- Load the tag on startup
inclusive = true,
screen = {1,2}, -- Create this tag on screen 1 and screen 2
layout = awful.layout.suit.tile, -- Use the tile layout
instance = { --Accept the following classes, refuse everything else (because of "exclusive=true")
"vscodium" , "qterminal"}
},
}
-- Display in all tags
--tyrannical.properties.sticky = {
-- "xterm", "Okular","qterminal",
--}
-- tyrannical.settings.block_children_focus_stealing = true --Block popups ()
-- tyrannical.settings.group_children = true --Force popups/dialogs to have the same tags as the parent client
-- {{{ Mouse bindings
root.buttons(gears.table.join(
awful.button({ }, 3, function () mymainmenu:toggle() end),
awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev)
))
-- }}}
-- {{{ Key bindings
globalkeys = gears.table.join(
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
{description="show help", group="awesome"}),
awful.key({ modkey, }, ",", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
awful.key({ modkey, }, ";", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ modkey, }, "Escape", awful.tag.history.restore,
{description = "go back", group = "tag"}),
awful.key({ modkey, }, "j",
function ()
awful.client.focus.byidx( 1)
end,
{description = "focus next by index", group = "client"}
),
awful.key({ modkey, }, "k",
function ()
awful.client.focus.byidx(-1)
end,
{description = "focus previous by index", group = "client"}
),
awful.key({ modkey, }, "w", function () mymainmenu:show() end,
{description = "show main menu", group = "awesome"}),
-- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
{description = "swap with next client by index", group = "client"}),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
{description = "swap with previous client by index", group = "client"}),
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end,
{description = "focus the next screen", group = "screen"}),
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end,
{description = "focus the previous screen", group = "screen"}),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
{description = "jump to urgent client", group = "client"}),
awful.key({ modkey, }, "Tab",
function ()
awful.client.focus.history.previous()
if client.focus then
client.focus:raise()
end
end,
{description = "go back", group = "client"}),
-- Standard program
awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end,
{description = "open a terminal", group = "launcher"}),
awful.key({ modkey, "Control" }, "r", awesome.restart,
{description = "reload awesome", group = "awesome"}),
awful.key({ modkey, "Shift" }, "q", awesome.quit,
{description = "quit awesome", group = "awesome"}),
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end,
{description = "increase master width factor", group = "layout"}),
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end,
{description = "decrease master width factor", group = "layout"}),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
{description = "increase the number of master clients", group = "layout"}),
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
{description = "decrease the number of master clients", group = "layout"}),
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
{description = "increase the number of columns", group = "layout"}),
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
{description = "decrease the number of columns", group = "layout"}),
awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end,
{description = "select next", group = "layout"}),
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end,
{description = "select previous", group = "layout"}),
awful.key({ modkey, "Control" }, "n",
function ()
local c = awful.client.restore()
-- Focus restored client
if c then
c:emit_signal(
"request::activate", "key.unminimize", {raise = true}
)
end
end,
{description = "restore minimized", group = "client"}),
-- Dmenu
awful.key({ modkey }, "r", function ()
awful.util.spawn("dmenu_run") end,
{description = "run dmenu", group = "launcher"}),
-- Firefox
awful.key({ modkey }, "b", function ()
awful.util.spawn("firefox") end,
{description = "firefox", group = "applications"}),
awful.key({ modkey }, "x",
function ()
awful.prompt.run {
prompt = "Run Lua code: ",
textbox = awful.screen.focused().mypromptbox.widget,
exe_callback = awful.util.eval,
history_path = awful.util.get_cache_dir() .. "/history_eval"
}
end,
{description = "lua execute prompt", group = "awesome"}),
-- Menubar
awful.key({ modkey }, "p", function() menubar.show() end,
{description = "show the menubar", group = "launcher"})
)
clientkeys = gears.table.join(
awful.key({ modkey, }, "f",
function (c)
c.fullscreen = not c.fullscreen
c:raise()
end,
{description = "toggle fullscreen", group = "client"}),
awful.key({ modkey, }, "q", function (c) c:kill() end,
{description = "close", group = "client"}),
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ,
{description = "toggle floating", group = "client"}),
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end,
{description = "move to master", group = "client"}),
awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
{description = "move to screen", group = "client"}),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end,
{description = "toggle keep on top", group = "client"}),
awful.key({ modkey, }, "n",
function (c)
-- The client currently has the input focus, so it cannot be
-- minimized, since minimized clients can't have the focus.
c.minimized = true
end ,
{description = "minimize", group = "client"}),
awful.key({ modkey, }, "m",
function (c)
c.maximized = not c.maximized
c:raise()
end ,
{description = "(un)maximize", group = "client"}),
awful.key({ modkey, "Control" }, "m",
function (c)
c.maximized_vertical = not c.maximized_vertical
c:raise()
end ,
{description = "(un)maximize vertically", group = "client"}),
awful.key({ modkey, "Shift" }, "m",
function (c)
c.maximized_horizontal = not c.maximized_horizontal
c:raise()
end ,
{description = "(un)maximize horizontally", group = "client"})
)
-- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it work on any keyboard layout.
-- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, 9 do
globalkeys = gears.table.join(globalkeys,
-- View tag only.
awful.key({ modkey }, "#" .. i + 9,
function ()
local screen = awful.screen.focused()
local tag = screen.tags[i]
if tag then
tag:view_only()
end
end,
{description = "view tag #"..i, group = "tag"}),
-- Toggle tag display.
awful.key({ modkey, "Control" }, "#" .. i + 9,
function ()
local screen = awful.screen.focused()
local tag = screen.tags[i]
if tag then
awful.tag.viewtoggle(tag)
end
end,
{description = "toggle tag #" .. i, group = "tag"}),
-- Move client to tag.
awful.key({ modkey, "Shift" }, "#" .. i + 9,
function ()
if client.focus then
local tag = client.focus.screen.tags[i]
if tag then
client.focus:move_to_tag(tag)
end
end
end,
{description = "move focused client to tag #"..i, group = "tag"}),
-- Toggle tag on focused client.
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
function ()
if client.focus then
local tag = client.focus.screen.tags[i]
if tag then
client.focus:toggle_tag(tag)
end
end
end,
{description = "toggle focused client on tag #" .. i, group = "tag"})
)
end
clientbuttons = gears.table.join(
awful.button({ }, 1, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
end),
awful.button({ modkey }, 1, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
awful.mouse.client.move(c)
end),
awful.button({ modkey }, 3, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
awful.mouse.client.resize(c)
end)
)
-- Set keys
root.keys(globalkeys)
-- }}}
-- {{{ Rules
-- Rules to apply to new clients (through the "manage" signal).
awful.rules.rules = {
-- All clients will match this rule.
{ rule = { },
properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal,
focus = awful.client.focus.filter,
raise = true,
keys = clientkeys,
buttons = clientbuttons,
screen = awful.screen.preferred,
placement = awful.placement.no_overlap+awful.placement.no_offscreen
}
},
-- Floating clients.
{ rule_any = {
instance = {
"DTA", -- Firefox addon DownThemAll.
"copyq", -- Includes session name in class.
"pinentry",
},
class = {
"Arandr",
"Blueman-manager",
"Gpick",
"Kruler",
"MessageWin", -- kalarm.
"Sxiv",
"Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
"Wpa_gui",
"veromix",
"xtightvncviewer"},
-- Note that the name property shown in xprop might be set slightly after creation of the client
-- and the name shown there might not match defined rules here.
name = {
"Event Tester", -- xev.
},
role = {
"AlarmWindow", -- Thunderbird's calendar.
"ConfigManager", -- Thunderbird's about:config.
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
}
}, properties = { floating = true }},
-- Add titlebars to normal clients and dialogs
{ rule_any = {type = { "normal", "dialog" }
}, properties = { titlebars_enabled = true }
},
-- Set Firefox to always map on the tag named "2" on screen 1.
-- { rule = { class = "Firefox" },
-- properties = { screen = 1, tag = "2" } },
}
-- }}}
-- {{{ Signals
-- Signal function to execute when a new client appears.
client.connect_signal("manage", function (c)
-- Set the windows at the slave,
-- i.e. put it at the end of others instead of setting it master.
-- if not awesome.startup then awful.client.setslave(c) end
if awesome.startup
and not c.size_hints.user_position
and not c.size_hints.program_position then
-- Prevent clients from being unreachable after screen count changes.
awful.placement.no_offscreen(c)
end
end)
-- Add a titlebar if titlebars_enabled is set to true in the rules.
client.connect_signal("request::titlebars", function(c)
-- buttons for the titlebar
local buttons = gears.table.join(
awful.button({ }, 1, function()
c:emit_signal("request::activate", "titlebar", {raise = true})
awful.mouse.client.move(c)
end),
awful.button({ }, 3, function()
c:emit_signal("request::activate", "titlebar", {raise = true})
awful.mouse.client.resize(c)
end)
)
awful.titlebar(c) : setup {
{ -- Left
awful.titlebar.widget.iconwidget(c),
buttons = buttons,
layout = wibox.layout.fixed.horizontal
},
{ -- Middle
{ -- Title
align = "center",
widget = awful.titlebar.widget.titlewidget(c)
},
buttons = buttons,
layout = wibox.layout.flex.horizontal
},
{ -- Right
awful.titlebar.widget.floatingbutton (c),
awful.titlebar.widget.maximizedbutton(c),
awful.titlebar.widget.stickybutton (c),
awful.titlebar.widget.ontopbutton (c),
awful.titlebar.widget.closebutton (c),
layout = wibox.layout.fixed.horizontal()
},
layout = wibox.layout.align.horizontal
}
end)
-- Enable sloppy focus, so that focus follows mouse.
client.connect_signal("mouse::enter", function(c)
c:emit_signal("request::activate", "mouse_enter", {raise = false})
end)
client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
-- }}}
-- Windows border gaps
beautiful.useless_gap = 5
-- autostart apps
awful.util.spawn("firefox")
-- Collision plugin
require("collision")()
**Edit:** after few tests it seems that Okular pdf viewer has the same behaviour as VSCodium...
zetyty
(101 rep)
Sep 12, 2024, 01:33 PM
• Last activity: Sep 12, 2024, 02:15 PM
0
votes
0
answers
69
views
vscode linux UI border menu has a white border
I am using Linux Ubuntu LTS 20.04 with BSPWM, SXHKD, PICOM, POLYBAR, on VMware Pro. When I click on any menu, it has a border around it that is white and a little blurry. How can I solve it? I want to delete it I tried to modify picom but I can't fix it [![problem view][1]][1] [1]: https://i.sstatic...
I am using Linux Ubuntu LTS 20.04 with BSPWM, SXHKD, PICOM, POLYBAR, on VMware Pro. When I click on any menu, it has a border around it that is white and a little blurry. How can I solve it? I want to delete it
I tried to modify picom but I can't fix it

Jose Tomas Torre Pedroarena
(1 rep)
Sep 11, 2024, 05:45 PM
• Last activity: Sep 11, 2024, 09:07 PM
0
votes
0
answers
133
views
Upgrading libstdc++ to Include GLIBCXX_3.4.30 on Oracle Linux 9.4 AArch64 for Amazon Q Extension Compatibility
Has anyone successfully added GLIBCXX_3.4.30 to Oracle Linux 9 (specifically version 9.4 on AArch64 architecture)? I am encountering a version mismatch error when trying to run the Amazon Q extension on Visual Studio Insiders 1.93.0. The available `libstdc++.so.6` on my system only goes up to GLIBCX...
Has anyone successfully added GLIBCXX_3.4.30 to Oracle Linux 9 (specifically version 9.4 on AArch64 architecture)? I am encountering a version mismatch error when trying to run the Amazon Q extension on Visual Studio Insiders 1.93.0. The available
libstdc++.so.6
on my system only goes up to GLIBCXX_3.4.29. What are the best practices or recommended steps to upgrade the libstdc++
library to include GLIBCXX_3.4.30, or is there an alternative workaround that you've found effective?
Request initialize failed with message: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.30' not found
(required by /home/opc/.vscode-server-insiders/extensions/amazonwebservices.amazon-q-vscode-1.22.0/
resources/qserver/dist/build/Release/faiss-node.node)
robi
(1 rep)
Aug 28, 2024, 06:13 AM
0
votes
2
answers
1819
views
__USE_POSIX and VS Code in WSL distro
I'm learning C and in general I code with VS Code in Ubuntu. For convenience, I'm trying to migrate my learning materials to Windows where a lot of my other works happen, so I installed WSL 2 and its distro Ubuntu 18.04 LTS. After installing VS Code for Windows and its remote extension to work with...
I'm learning C and in general I code with VS Code in Ubuntu. For convenience, I'm trying to migrate my learning materials to Windows where a lot of my other works happen, so I installed WSL 2 and its distro Ubuntu 18.04 LTS. After installing VS Code for Windows and its remote extension to work with WSL, I boot up a new WSL session in VS Code, install the C/C++ extension with IntelliSense then write a simple program like below just for demonstration:
#include
int main()
{
kill(-1, SIGKILL);
}
The problem with VS Code is that while the program compiles, its IntelliSense doesn't detect the kill
function in the signal.h
header. By further investigating the header file, I observe that the following part is darkened
#ifdef __USE_POSIX
extern int kill (__pid_t __pid, int __sig) __THROW;
#endif /* Use POSIX. */
along with other parts where __USE_POSIX
is checked, including but not limited to siginfo_t
, struct sigaction
.
Is there a way to make VS Code recognise these macros/variables to enable IntelliSense's assistance?
dqtvictory
(1 rep)
Jul 2, 2021, 09:47 AM
• Last activity: Aug 19, 2024, 03:49 PM
1
votes
0
answers
131
views
SSHing into remote machine from terminal doesn't ask for password, but through VS Code integrated terminal, it does, Why?
I'm working on a project where I have to run a python script which will open a tmux session with multiple windows, in each one ssh into a different remote machine, and run another python script. I'm new to both tmux and ssh and I was using VS Code's built in terminal, which worked fine, up until I w...
I'm working on a project where I have to run a python script which will open a tmux session with multiple windows, in each one ssh into a different remote machine, and run another python script. I'm new to both tmux and ssh and I was using VS Code's built in terminal, which worked fine, up until I wanted to clear the tmux server. I manually ran
tmux kill-server
to get rid of all the sessions and windows I had created. Upon running my python script again, I noticed that it hadn't given an output like it usually did. I attached to the tmux session and I saw that when the script had tried to ssh onto the remote machine the terminal had returned:
could not open any host key
ssh_keysign: no reply
sign using hostkey ssh-ed25519 SHA256:/BRoTCDFKguzQMzgzvdPa48k3sm6k9J9WWgmc/ly39U failed
() Password:
and then prompts you for your password. \
This wouldn't be a problem if I was SSHing into the remote machine manually, but I have a python script that runs
set_up_file_command = f'tmux send-keys -t {session_name} -l "ssh {cpu_name} python {file_path} {cpu_name}"'
subprocess.run(set_up_file_command, shell=True)
I can probably change the script to accommodate a password but I'm interested in why clearing the tmux server to begin with created this issue and why a normal terminal works.
When I ssh into the remote machine through a normally opened terminal all I have to do is ssh
, without specifying a password.
I've tried restarting the integrated terminal and restarting the tmux server several times but nothing has changed. I'm very inexperienced when it comes to ssh, tmux, and server work and I'm pretty lost. I can use the regular terminal to run my python script but I just want to know why it doesn't work in the integrated terminal?
a dude
(11 rep)
Jun 20, 2024, 04:17 PM
0
votes
1
answers
110
views
Where to get Debian packages for Visual Studio Code from: packages.microsoft.com/repos/code or packages.microsoft.com/repos/vscode?
To install Visial Studio Code on Debian, different sources advise using different repositories: - https://code.visualstudio.com/docs/setup/linux advises to use https://packages.microsoft.com/repos/code, whereas - https://wiki.debian.org/VisualStudioCode advises to use https://packages.microsoft.com/...
To install Visial Studio Code on Debian, different sources advise using different repositories:
- https://code.visualstudio.com/docs/setup/linux advises to use https://packages.microsoft.com/repos/code , whereas
- https://wiki.debian.org/VisualStudioCode advises to use https://packages.microsoft.com/repos/vscode .
Any difference as far as the latest version on amd64 is concerned? The latest versions in the two pools seem the same (code_1.89.1-1715060508_amd64.deb at the time these lines are written), though the directories https://packages.microsoft.com/repos/code/pool/main/c/code and https://packages.microsoft.com/repos/vscode/pool/main/c/code are different (as of now):
Any official rationale or any official reason for having two places? After all, Microsoft could offer only one with all the files.
PS. Visual Studio Code is NOT the same as Visual Studio.

AlMa1r
(1 rep)
May 28, 2024, 06:23 PM
• Last activity: May 29, 2024, 03:10 PM
1
votes
1
answers
1924
views
How to show all current ssh connected users on Linux?
Using GCP VM Instance, I'm connected via ssh, not serial port. When I type `w` or `who` or `finger` I get the following output: ``` $ w 08:46:18 up 41 min, 0 users, load average: 0.10, 0.07, 0.01 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT $ who $ finger No one logged on. ``` I'm expecting to see my cu...
Using GCP VM Instance, I'm connected via ssh, not serial port. When I type
w
or who
or finger
I get the following output:
$ w
08:46:18 up 41 min, 0 users, load average: 0.10, 0.07, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
$ who
$ finger No one logged on.
I'm expecting to see my current connected user, but this is not the case. I tried to connect as another user along mine and it showed, but not my primary user, either when he or the other runs the command.
> pstree -alus "$$"
systemd
└─sshd
└─sshd
└─sshd,Dédé
└─bash
└─bash
└─code-e170252f76 command-shell --cli-data-dir /home/Dédé/.vscode-server/cli --parent-process-id 234934 --on-port
└─sh /home/Dédé/.vscode-server/cli/servers/Stable-e170252f762678dec6ca2cc69aba1570769a5d39/server/bin/code-server --connection-token=remotessh --accept-server-license-terms --start-server --enable-remote-auto-shutdown --socket-path=/tmp/code-bd3d6d38-59de-47a1-8df7-54881cb666dd
└─node /home/Dédé/.vscode-server/cli/servers/Stable-e170252f762678dec6ca2cc69aba1570769a5d39/server/out/server-main.js --connection-token=remotessh --accept-server-license-terms --start-server --enable-remote-auto-shutdown --socket-path=/tmp/code-bd3d6d38-59de-47a1-8df7-54881cb666dd
└─node /home/Dédé/.vscode-server/cli/servers/Stable-e170252f762678dec6ca2cc69aba1570769a5d39/server/out/bootstrap-fork --type=ptyHost --logsPath /home/Dédé/.vscode-server/data/logs/20240504T173238
└─zsh -i
└─pstree -alus 271031
Dédé
(11 rep)
May 4, 2024, 10:57 AM
• Last activity: May 6, 2024, 02:29 PM
4
votes
1
answers
1180
views
ps: invalid option -- 'p'
I'm using Yocto Project (honister) to build my OS image. When I'm trying to use vscode ssh extension, I'm getting an error: ``` > ps: invalid option -- 'p' > BusyBox v1.34.1 () multi-call binary.Usage: ps > Exec server process not found ``` Any ideas? What can I install? Is there any other ps implem...
I'm using Yocto Project (honister) to build my OS image. When I'm trying to use vscode ssh extension, I'm getting an error:
> ps: invalid option -- 'p'
> BusyBox v1.34.1 () multi-call binary.Usage: ps
> Exec server process not found
Any ideas? What can I install? Is there any other ps implementation?
YoctoDragon
(43 rep)
May 6, 2024, 10:44 AM
• Last activity: May 6, 2024, 01:27 PM
5
votes
2
answers
5191
views
When installing VSCode via Flatpak, where is its `code` executable located?
When installing Visual Studio Code via apt or homebrew, the VSCode `code` executable goes to a standard location that is within `PATH`, however it seems when installing VSCode via Flatpak, it goes somewhere special. I am trying to find this location such that I can add it to my `PATH`.
When installing Visual Studio Code via apt or homebrew, the VSCode
code
executable goes to a standard location that is within PATH
, however it seems when installing VSCode via Flatpak, it goes somewhere special. I am trying to find this location such that I can add it to my PATH
.
balupton
(634 rep)
Oct 31, 2021, 10:59 PM
• Last activity: Apr 23, 2024, 12:02 PM
0
votes
0
answers
63
views
"[" displayed as "Ä" and "]" displayed as "Å" in remote terminal from vscode
I did the following things in VSCODE: 1) remote ssh into a remote virtual machine; 2) opened a terminal; 3) typed some characters into the terminal. I then noticed that `[` is displayed as `Ä` and `]` is displayed as `Å` in remote terminal from the vscode. I also confirmed that before remo...
I did the following things in VSCODE:
1) remote ssh into a remote virtual machine;
2) opened a terminal;
3) typed some characters into the terminal.
I then noticed that
[
is displayed as Ä
and ]
is displayed as Å
in remote terminal from the vscode. I also confirmed that before remote ssh, characters in local terminal are correct. Further, my local machine is windows and executing "locale" on on bash session from remote server through vscode provides me the following result:
-console
bash-4.4$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Further, as I got no problem on the server without going through vscode, I ran "locale" there and got the following:
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
There has to be some encoding decoding issue on vscode-server, in my understanding. Can anyone tell me how to fix it from vscode?
Ziqi Fan
(247 rep)
Apr 20, 2024, 07:39 PM
• Last activity: Apr 20, 2024, 08:58 PM
2
votes
1
answers
4765
views
Can't open VS Code on Kali Linux as super user or root
I installed VS Code on Kali Linux and when I tried opening it with the `code` command, this message would appear: > You are trying to start Visual Studio Code as a super user which isn't recommended. If this was intended, please specify an alternate user data directory using the `--user-data-dir` ar...
I installed VS Code on Kali Linux and when I tried opening it with the
code
command, this message would appear:
> You are trying to start Visual Studio Code as a super user which isn't recommended. If this was intended, please specify an alternate user data directory using the --user-data-dir
argument.
I tried this command:
sudo code --user-data-dir="~/.vscode-root"
but that did not work either.
Aarzoo Mohammad
(31 rep)
Jul 11, 2021, 04:54 PM
• Last activity: Apr 6, 2024, 01:01 AM
0
votes
1
answers
432
views
vscode and edge has different mouse cursor size with system
I'm on manjaro with xfce. my mouse cursor size differs when it is on vscode and not. it also happens on edge. The vscode is installed use aur of `visual-studio-code-bin` package. [![enter image description here][1]][1] [![enter image description here][2]][2] [1]: https://i.sstatic.net/acSMI.jpg [2]:...
I'm on manjaro with xfce. my mouse cursor size differs when it is on vscode and not. it also happens on edge.
The vscode is installed use aur of
visual-studio-code-bin
package.


Shore
(103 rep)
Jan 13, 2024, 06:49 AM
• Last activity: Jan 13, 2024, 07:19 AM
3
votes
3
answers
4251
views
Running VSCode headless, without installing desktop environment
Can you install VS-Code-CLI on a headless machine, without installing a desktop environment too? (I sometimes wish to access my code on an Android tablet, using the PWA version of Code that doesn't allow ssh, only the VS Code tunnel.) system spec: ``` No monitors, keyboards, speakers or anything. Ol...
Can you install VS-Code-CLI on a headless machine, without installing a desktop environment too? (I sometimes wish to access my code on an Android tablet, using the PWA version of Code that doesn't allow ssh, only the VS Code tunnel.)
system spec:
No monitors, keyboards, speakers or anything.
Old Atom processor, 4G RAM
Debian 12 6.1.0-amd64 GCC 12.2
Node 20.1
Running code
returns:
$ ./code
No installation of Visual Studio Code stable was found.
Install it from your system's package manager or https://code.visualstudio.com , restart your shell, and try again.
If you already installed Visual Studio Code and we didn't detect it, run code version use stable --install-dir /path/to/installation
To install the Debian package code_1.85.1-1702462158_amd64.deb
, depends on a display server, a window manager, a sound-subsystem, 1000s of libraries, etc. Which I don't need, or even want to attempt to install, on such a low-powered machine! The same would apply to Raspberry Pi headless systems too.
The Debian package for code
, depends on all these things. Has anyone tried something different, or could the Debian package be split into, for example, code-core
into code-gui
LukeW
(33 rep)
Dec 24, 2023, 04:47 PM
• Last activity: Dec 30, 2023, 03:27 AM
Showing page 1 of 20 total questions