sql transactional replication - slow renitialization / slow bulk insert
actually opening this snapshot that he generates before and doing this bulk insert like thru linked server in that case?

Is this a push subscription or a pull subscription?  For Push the Snapshot Agent runs at the distributor; for Pull it runs at the subscriber.  The Snapshot Agent reads the snapshot files and connects to the subscriber to create the tables and bulk load them.
You can also copy the snapshot folder to an Alternate Snapshot Location and have the Snapshot Agent read from there.  If you're using Push Subscriptions because you have SQL Express on the subscriber and so don't have SQL Agent, you can syncronize your Pull Subscription through PowerShell.

Why it is going so slow ?

Look at the Wait Stats and CPU utilization on the Subscriber.

Can it be the case that the publisher machine is distributor also ?

Yes.  Called Local Distribution.  Most common configuration.