Tag Archives: Windows Tutorial

Windows operating systems are particularly common on personal computers and servers.

Clock with seconds display in Windows 11

The clock in the Windows 11 taskbar at the bottom right does not display the seconds. Even clicking on the date and time does not show a clock. With these settings you get the time back with seconds display, without apps and without registry hacks.

Most users don’t need a second display in their daily work. However, at the latest when you as a system administrator want to check the exact time on your laptop or desktop. It would be helpful if there was a time display with seconds indicated somewhere on the desktop. What was easy in Windows 10 by clicking on the clock at the bottom right. Windows 11 leaves users without a second display; on the clock, the seconds indication is hidden by default.

Solution: Clock with seconds display in Windows 11

There is a way to get back the clock with seconds display so that a clock with a digital time including seconds can be show in Windows 11. And all without any additional software and without tricky registry tweak.

Clock with seconds display at the bottom right of the taskbar.

Clock with second in taskbar on Windows 11

To do this, open Settings and navigate to Personalization -> Taskbar -> Taskbar behaviors (at the very bottom), enable by click the checkbox “Show seconds in system tray clock” again at the very bottom.

The time with seconds is now displayed in the taskbar system tray.

Next, press the Windows key Windows and the R key samless on the keyboard to open the Run window.

timedate.cpl

In the Run window, enter the commandtimedate.cpland click OK

Here is a real-time clock with a moving seconds, as well as the digital time including seconds. You can set the date and time using the Change date and time button.

Clock with seconds display in system tray on Windows 11

Open the Additional Clocks tab and click Show this clock, select the desired time zone if necessary and enter a display name. You can also set a second time zone.

Clock with seconds display in Windows 11 taskbar system tray

By clicking on date and time at the bottom right of the taskbar system tray, the time will now be shown above the calendar.

Clock open with click date and time in system tray

Addendum

Hint. using several time websites on the Internet. The website https://time.is/ shows the real time including the seconds display. And not the one that is set on the computer, but the actual time in the time zone. The time web service informs you when the time set in the taskbar differs from the actual time.

Xdebug 3 WSL2 VS Code Setup

Xdebug 3 WSL2 VS Code Setup

This tutorial shows how to setup Xdebug 3 in WSL2 (Ubuntu 22.04) and VS Code on Windows 11

quote  Most tips on the web for getting Xdebug to play with VS Code and WSL2 are using the php.ini settings from Xdebug 2, which is no longer supported by Xdebug 3.

let’s start Xdebug 3

First go to the Xdebug Installation Wizard. This page helps you finding which file to download, and how to configure PHP to get Xdebug running.

Next after Xdebug 3 is ready in WSL2 (Ubuntu), make sure the symlink file 99-xdebug.ini points to xdebug.ini.

cd /etc/php/8.2/cli/conf.d
ln -s /etc/php/8.1/mods-available/xdebug.ini 99-xdebug.ini

Edit the ini file using nano or vi/etc/php/8.2/cli/conf.d/99-xdebug.iniload the module last with 99.

[xdebug]
zend_extension = xdebug.so
xdebug.start_with_request = trigger
xdebug.mode = debug
xdebug.discover_client_host = 1
xdebug.log = /var/log/xdebug.log
xdebug.client_port = 9003

If you are not familiar with the Linux shell, you can also access the WSL 2 file system from Windows to edit the xdebug.ini file. To do this, enter the following line in the explorer address bar to open the folder in which xdebug.ini is located.

\\wsl.localhost\Ubuntu\etc\php\8.2\mods-available

Note. here “Ubuntu” stands for my WSL instance, change it if necessary. The file 99-xdebug.ini is a symlink and points to xdebug.ini.

xdebug settings in php.ini

Add these lines to the end of your php.ini. The php.ini file can be found under Debian with php 8.2 in/etc/php/8.2/apache2/php.ini

[xdebug]
zend_extension="/usr/lib/php/20220829/xdebug.so"
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003

Note. the path for zend_extension it depends on the php version, change the path to the xdebug.so if necessary!

VS Code WSL extension

Now reopen the workspace/folder using the Remote – WSL extension. To do this, you can bring them up by pressing F1 to open the Command Palette and typing in WSL, or by selecting the green remote indicator in the lower left corner of the status bar and select “Connect to WSL“. You will probably see the suggestion that the WSL extension should be added, just confirm with yes.

Xdebug 3 WSL2 VS Code remote indicatorXdebug 3 WSL2 VS Code status bar

The WSL extension lets you use VS Code on Windows to build Linux applications that run on the Windows Subsystem for Linux (WSL). You get all the productivity of Windows while developing with Linux-based tools, runtimes, and utilities.

At the bottom right of the terminal pane you can see ports that forwarded to localhost port 9003, so VS Code interacts with Xdebug in WSL2.

VSC Port Forwarded

Add Xdebug launch configuration

Now add PHP: Listen for Xdebug to the VS Code launch configuration with choose Run -> Open Configurations.

        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9003,
            "stopOnEntry": true,
            "log": true,
            "pathMappings": {
                "/mnt/c/users/<userID>/documents/ubuntu": "${workspaceRoot}"
            }
        }

This the first section “Listen for Xdebug” is needed. If you want to try out more settings, go to my launch.json here.

VS Code Run and Debug

Open the file for debugging in your browser and open it in VS Code, now go to Run and Debug with hit Ctrl+Shift+D and start Listen for Xdebug F5 or click the green arrow and reload the page from the browser.

Xdebug 3 WSL2 VS Code Setup

  A Chrome plugin called Xdebug helper which let you toggle debugging in chrome. You might want to skip temporarily debugging, it also provides profiling and tracing for Xdebug. This add-on is also available for Microsoft Edge did you can get here.

Finalize Xdebug in WSL2

Set the owner rights for the web server to the Xdebug log file.

$ chown www-data:www-data /var/log/xdebug.log

Don’t forget to restart the Apache web server.

$ systemctl restart apache2

Troubleshooting

If something went not as expected, the following commands can be helpful for troubleshooting.

How do I know if Xdebug is running? The next command should show the commonly output in the WSL2 Ubuntu.

$ php -v
PHP 8.2.12 (cli) (built: Oct 26 2023 17:33:49) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.12, Copyright (c), by Zend Technologies
    with Xdebug v3.2.2, Copyright (c) 2002-2023, by Derick Rethans

The PHP information php -i command shows the status of xdebug.

$ php -i | grep "xdebug.mode"
             Enabled Features (through 'xdebug.mode' setting)
xdebug.mode => debug => debug

Further can be checked that Xdebug is listening and ready in VSCode.

$ netstat -tulpen | grep LISTEN

If Xdebug is set up correctly and running in VS Code, you should see the following output.

tcp      0    0 127.0.0.1:3306       0.0.0.0:*     LISTEN    110     23618    298/mariadbd
tcp      0    0 127.0.0.1:35883      0.0.0.0:*     LISTEN    1000    22932    800/node
tcp      0    0 127.0.0.53:53        0.0.0.0:*     LISTEN    101     17836    134/systemd-resolve
tcp6     0    0 :::9003              :::*          LISTEN    1000    17992    966/node
tcp6     0    0 :::80                :::*          LISTEN    0       19672    299/apache2

Port 9003 in particular should appear with LISTEN.

Check if Xdebug responds on localhost port 9003 and VSCode is ready to answer queries.

$ nc -vz 127.0.0.1 9003
Connection to 127.0.0.1 9003 port [tcp/*] succeeded!

If you get connection refused may VSCode is not listening!

The Xdebug log file provides information about the process activities.

$ tail -f /var/log/xdebug.log

The Windows firewall can also be temporarily deactivated if necessary.

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

Run as administrator in the PowerShell.

Xdebug 3 and Visual Studio Code

The Lightweight Editor VS Code is a cross-platform editor for developers that differs from integrated development environments (IDE). Like Sublime or Eclipse, Visual Studio Code still supports debugging and autocompletion with IntelliSense. But it does not include integrated compilers and components such as version management.

However, Visual Studio Code makes it possible to adapt the environment (IDE) to the required development workflow. With a variety of extensions, so additional features can be integrated from the marketplace, such as the extension for Connect to WSL and Debug support for PHP with Xdebug. The PHP Hypertext Preprocessor must be provided according to the platform and version.